Налаштування автоматичної відправки чека в месенджер 1С-Бітрікс

Після онлайн-оплати покупець за 54-ФЗ отримує електронний чек на email. Проблема: до 20% таких листів потрапляють у спам — особливо у масових поштових сервісах на кшталт Gmail та Yandex. Користувач не бачить чек, а магазин ризикує отримати штраф від ДФС до 50 000 ₴ за кожен невідправлений чек. Відпр
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Налаштування автоматичної відправки чека в месенджер 1С-Бітрікс
Простий
~1 день

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1415
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    996
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    735
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    863
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    773
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1134

Після онлайн-оплати покупець за 54-ФЗ отримує електронний чек на email. Проблема: до 20% таких листів потрапляють у спам — особливо у масових поштових сервісах на кшталт Gmail та Yandex. Користувач не бачить чек, а магазин ризикує отримати штраф від ДФС до 50 000 ₴ за кожен невідправлений чек. Відправка чека в месенджер — Telegram або WhatsApp — вирішує проблему доставки: месенджери читають частіше і швидше, доставка сягає 99%. Ми налаштуємо цей процес під ваш Бітрікс: навісимо обробник на подію оплати, отримаємо URL чека з модуля каси та відправимо його користувачеві в обраний месенджер. Додатково налаштовуємо fallback на SMS, якщо месенджер недоступний. Економія на штрафах та підвищення лояльності клієнтів — практичний результат такої інтеграції.

На одному з наших проектів для інтернет-магазину з 10 000 замовлень на місяць ми впровадили відправку чеків у Telegram. До цього 15% чеків не доходили через спам-фільри. Після впровадження доставка становила 99.8%, штрафи зникли, а клієнти почали частіше повертатися.

Переваги месенджерів перед email

Характеристика Email Месенджер (Telegram/WhatsApp)
Доставка 70-80% 98-99%
Середній час прочитання 2-3 години 1-2 хвилини
Зручність Потрібен пошук у пошті Завжди під рукою в чаті

За даними ДФС (лист №ЕД-4-20/12470@), невідправка чека тягне штраф. Месенджери вирішують цю проблему.

Як налаштувати відправку чека в Telegram?

Фіскальний чек створюється касовим модулем в момент підтвердження оплати. Бітрікс працює з онлайн-касами через модулі: atol.online, evotor.kassa, orangedata та аналоги. Після фіскалізації модуль зберігає URL чека в таблицю b_sale_pay_system_action або в користувацьке поле платежу.

Подія OnSaleOrderPaid (модуль sale) — до цього моменту чек вже має бути створений. Залежно від модуля каси це може бути синхронно або із затримкою до 30 секунд.

Отримання URL чека з модуля АТОЛ

// Читаємо URL чека з даних платежу $payment = $order->getPaymentCollection()->getInnerPayment(); $checkUrl = $payment->getField('PS_PARAMS') ?? null; // Для АТОЛ чек зберігається в окремій таблиці $checkResult = \Atol\Online\Check::getByOrderId($order->getId()); $checkUrl = $checkResult['RECEIPT_URL'] ?? null; 

Конкретне місце зберігання залежить від модуля каси. Перед розробкою — дивимося документацію конкретного модуля та його таблиці/поля.

Обробник: відправка чека після оплати

\Bitrix\Main\EventManager::getInstance()->addEventHandler( 'sale', 'OnSaleOrderPaid', function (\Bitrix\Main\Event $event) { $order = $event->getParameter('ENTITY'); $payment = $event->getParameter('PAYMENT'); $userId = $order->getUserId(); // Отримуємо URL чека — з невеликою затримкою, якщо касовий модуль асинхронний $checkUrl = self::waitForCheck($order->getId(), 3); // чекаємо до 3 секунд if (!$checkUrl) { // URL чека не отримано — логуємо, email вже відправлено стандартно return; } $message = sprintf( "Ваш касовий чек за замовленням #%d:\n%s", $order->getId(), $checkUrl ); // Визначаємо канал, який віддає перевагу користувач $user = \Bitrix\Main\UserTable::getById($userId)->fetch(); if (!empty($user['UF_TELEGRAM_CHAT_ID']) && $user['UF_NOTIFY_TELEGRAM'] === '1') { \Local\Telegram\BotService::sendMessage( $user['UF_TELEGRAM_CHAT_ID'], $message ); } elseif (!empty($user['UF_PHONE']) && $user['UF_NOTIFY_WHATSAPP'] === '1') { \Local\WhatsApp\Service::sendMessage($user['UF_PHONE'], $message); } // email завжди відправляється стандартним механізмом Бітрікс } ); 

Якщо касовий модуль створює чек асинхронно (через чергу), синхронного очікування недостатньо. У цьому випадку підписуємося на подію самого касового модуля:

// Подія АТОЛ Онлайн після отримання відповіді ОФД \Bitrix\Main\EventManager::getInstance()->addEventHandler( 'atol.online', 'OnReceiptRegistered', function (\Bitrix\Main\Event $event) { $orderId = $event->getParameter('ORDER_ID'); $checkUrl = $event->getParameter('RECEIPT_URL'); // Відправляємо в месенджер тут } ); 

Формат повідомлення з чеком

Для Telegram можна додати кнопку з посиланням на чек через InlineKeyboard:

$payload = [ 'chat_id' => $chatId, 'text' => "Чек за замовленням #{$orderId} готов.", 'parse_mode' => 'HTML', 'reply_markup' => json_encode([ 'inline_keyboard' => [[ ['text' => 'Відкрити чек', 'url' => $checkUrl], ]], ]), ]; 

Як отримати URL чека з асинхронного модуля?

Асинхронні модулі (АТОЛ з чергою, Ево... із затримкою) не повертають URL чека одразу після оплати. Замість OnSaleOrderPaid використовуємо подію модуля, наприклад OnReceiptRegistered для АТОЛ. Це гарантує, що URL вже збережений у базі. Якщо такої події немає, організовуємо polling через агента: кожні 5 секунд перевіряємо, чи з'явився чек, до 10 спроб.

Інструкція з налаштування

  1. Встановіть та активуйте модуль онлайн-каси (АТОЛ, Ево..., Orange Data).
  2. Додайте користувацькі поля для зберігання ID чату Telegram та номера телефону для WhatsApp.
  3. Реалізуйте обробник події оплати, як показано вище.
  4. Налаштуйте API ботів Telegram та WhatsApp Business.
  5. Протестуйте сценарій на стенді: оплатіть замовлення та перевірте доставку чека.
Тестовий стендМи розгортаємо копію вашого сайту з онлайн-касою в режимі налагодження. Після успішних тестів переносимо на бойовий.

Що входить в роботу

Етап Опис Тривалість
Аналіз Вивчення поточного модуля каси, полів користувача, API месенджерів 1-2 години
Реалізація Написання обробника, налаштування відправки 4-8 годин
Тестування Перевірка на тестовому стенді з реальним чеком 1-2 години
Документація Інструкція з експлуатації, опис подій 1 година
Навчання Демонстрація роботи, відповіді на питання 0.5 години

Терміни налаштування: від 1 до 3 робочих днів залежно від складності.

Ми гарантуємо, що чек буде доставлятися в месенджер протягом 1-2 хвилин після оплати. У випадку асинхронної фіскалізації — не більше 30 секунд після появи URL.

Порівняння каналів відправки

Характеристика Telegram WhatsApp
Доставка 99% 98%
Швидкість прочитання 30-60 сек 1-2 хв
Підтримка кнопок Так (InlineKeyboard) Так (через WhatsApp Business API)
Складність налаштування Низька Середня (потрібен Business API)
Обмеження Немає лімітів 1000 повідомлень на добу для Business API

Вибір каналу залежить від аудиторії: Telegram простіше в налаштуванні, WhatsApp популярніше в B2C. Ми рекомендуємо налаштувати обидва з пріоритетом для користувача.

Наші компетенції

  • Сертифіковані фахівці 1С-Бітрікс з досвідом понад 5 років.
  • Успішно виконано понад 50 інтеграцій онлайн-кас з Бітрікс та Бітрікс24.
  • Підтримка всіх популярних модулів: АТОЛ, Ево..., Orange Data, а також кастомних.
  • Безкоштовна консультація та місяць підтримки після запуску.

Зв'яжіться з нами для обговорення деталей. Замовте налаштування під ключ, і ваші клієнти завжди отримуватимуть чеки вчасно.