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

Покупці часто не отримують електронні чеки — листи губляться у спамі, а магазин ризикує отримати штраф. Ми налаштовуємо автоматичну відправку чеків у Telegram або WhatsApp прямо з вашого 1С-Бітрікс, щоб документи доходили миттєво та без втрат. Наша команда реалізує інтеграцію під ключ — від підключення обробника до налаштування резервної відправки через SMS, забезпечуючи надійну роботу та повну відповідність 54-ФЗ.

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

Месенджери та чат-ботиПростий~1 день
Часті запитання

Після онлайн-оплати покупець за 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, а також кастомних.
  • Консультація та місяць підтримки після запуску.

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

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

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

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1543
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1060
  • Розробка віджета онлайн-запису для медичного центру
    Розробка віджета онлайн-запису для медичного центру
    837
  • Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    928
  • Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    865
  • Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1223