Розробка інтеграції Бітрікс24 з банківськими системами

Фінансовий директор витрачає до 4 годин на день на ручне звірення платежів та виписок. Менеджер з продажу дізнається про оплату із запізненням на добу — угода простоює, гроші заморожуються. Ми вирішуємо цю проблему за допомогою інтеграції Бітрікс24 з банківськими системами: платіж прийшов — угода пе
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Розробка інтеграції Бітрікс24 з банківськими системами
Середній
~1-2 тижні

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

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

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

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1467
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019
  • Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    764
  • Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    882
  • Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    811
  • Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1167

Фінансовий директор витрачає до 4 годин на день на ручне звірення платежів та виписок. Менеджер з продажу дізнається про оплату із запізненням на добу — угода простоює, гроші заморожуються. Ми вирішуємо цю проблему за допомогою інтеграції Бітрікс24 з банківськими системами: платіж прийшов — угода перейшла на наступну стадію, акт сформовано, контрагента повідомлено. Окупність інтеграції — менше півроку за рахунок зниження операційних витрат на 40%.

Які завдання вирішує інтеграція з банком?

Перш ніж проектувати інтеграцію, зафіксуємо конкретні сценарії. З практики запити розпадаються на три групи:

Вихідні платежі. Вивантаження платіжних доручень з Бітрікс24 у банк — минаючи ручне введення в клієнт-банк. Менеджер створює рахунок на оплату постачальнику в CRM, фінансовий директор затверджує, система автоматично формує платіжку та відправляє в банк за API. Середня швидкість обробки знижується з 15 хвилин до 30 секунд — у 30 разів швидше.

Вхідні платежі. Webhook або polling виписки: щойно банк фіксує надходження на рахунок — угода в CRM змінює стадію, менеджер отримує сповіщення, формується акт. Без інтеграції менеджер дізнається про оплату випадково або в кінці дня. Автоматизація скорочує цикл надходження грошей на 70%.

Довідкові операції. Перевірка балансу, отримання курсів валют, верифікація реквізитів контрагента через API ФНС або банківський сервіс перевірки.

Який спосіб інтеграції обрати: API, DirectBank або файловий обмін?

Параметр REST API DirectBank Файловий обмін
Швидкість передачі Миттєво Затримка 1-2 хв Затримка до 24 год
Підтримка банків Великі (Сбер, Тінькофф) 30+ банків Всі
Автоматизація матчингу Повна Вимагає 1С-посередника Ручний імпорт
Надійність 99.9% (схема з ретраями) 99.5% 95% (помилки оператора)

REST API — найгнучкіший варіант. Документація API Тінькофф Банку описує ендпоінти для створення платежів та отримання виписок. Автентифікація — OAuth 2.0 з Client Credentials flow. Банк видає client_id та client_secret, в обмін отримуємо access_token з обмеженим часом життя (зазвичай 30 хвилин). Токен оновлюється через refresh_token або повторною автентифікацією. Зберігати токени потрібно в захищеному сховищі — шифруємо в базі або використовуємо змінні оточення. Час життя токена короткий, тому автоматичне оновлення критичне для безперебійної роботи.

1С-інтерфейс (DirectBank). Ряд банків підтримує протокол DirectBank (прямий обмін без клієнт-банку). Технічно це XML-протокол поверх HTTPS, формат документів — сумісний з 1С. Якщо в компанії вже є 1С:Бухгалтерія з налаштованим DirectBank, інтеграцію Бітрікс24 простіше будувати через 1С як посередника, а не напряму з банком. Такий підхід дешевший, але вносить додаткову затримку та точку відмови.

Файловий обмін. Класичний варіант — вивантаження у форматі 1C:Enterprise (.txt з заголовком 1CClientBankExchange) та імпорт у клієнт-банк вручну або через автоматичне підключення папки. Не вимагає API-доступу, працює з будь-яким банком. Однак автоматичне зіставлення платежів із замовленнями неможливе — матчинг вручну, що зводить нанівець економію часу.

Чому для інтеграції важливе шифрування токенів?

Банківський API — критичний інтеграційний контур. Вимоги:

  • Токени зберігаються в зашифрованому вигляді (AES-256), ключ шифрування — у змінних оточення, не в коді
  • Запити до API йдуть тільки через HTTPS, перевірка SSL-сертифіката обов'язкова
  • Логи всіх API-викликів з маскуванням чутливих даних (номер рахунку, сума — логуємо, CVV та токени — ніколи)
  • IP-whitelist на стороні банку — дозволяємо тільки IP наших серверів
  • Для webhook endpoint — валідація підпису запиту (банк підписує payload HMAC-SHA256 секретним ключем)

Чек-лист безпечної інтеграції:

  1. Використовувати тільки HTTPS з перевіркою сертифіката
  2. Шифрувати токени AES-256
  3. Обмежити IP-адреси на стороні банку
  4. Підписувати webhook-запити HMAC-SHA256
  5. Не логувати чутливі дані

Архітектура застосунку в Бітрікс24

Інтеграція реалізується як локальний застосунок або вбудований REST-обробник. Схема:

Бітрікс24 CRM ↓ Webhook / Robot Обробник (PHP, власний сервер або серверна частина застосунку) ↓ OAuth2 token Банківський API ↓ Response Оновлення сутностей CRM через crm.deal.update / crm.invoice.update 

Для вхідних платежів — зворотна схема: банк надсилає webhook на наш endpoint, який через crm.deal.update або crm.timeline.comment.add оновлює стан угоди.

Зберігання стану платежів: заводимо UF_BANK_PAYMENT_ID (користувацьке поле) на угоді та рахунку — зовнішній ідентифікатор платежу в банку. Це дозволяє ідемпотентно обробляти повторні webhook-повідомлення та перевіряти статус конкретного платежу.

Робота з випискою

Банківська виписка надходить у форматі JSON (через API) або SWIFT MT940/camt.053 (для міжнародних банків). Парсимо транзакції: сума, дата, призначення платежу, ІПН платника. За ІПН або номером рахунку шукаємо контрагента в CRM через crm.company.list з фільтром за реквізитами. Якщо контрагент знайдений — шукаємо відкритий рахунок на відповідну суму.

Складність — призначення платежу. «Оплата за рахунком № 145 від 12 березня» — добре, розпарсити номер рахунку нескладно. «Оплата за послуги» — погано, потрібна ручна прив'язка. Для другого випадку будуємо інтерфейс ручного матчингу: список нерозпізнаних надходжень, можливість прив'язати до угоди вручну.

Обробка помилок і ретраї

Банківські API нестабільні. Типові сценарії: таймаут при створенні платежу (невідомо, пройшов він чи ні), тимчасова недоступність сервісу, ліміти запитів (rate limiting). Під кожен сценарій — своя логіка.

Для критичних операцій (відправка платіжного доручення) використовуємо чергу з ідемпотентними ключами: перед відправкою генеруємо idempotency_key (UUID), передаємо в заголовку запиту. При повторній спробі з тим самим ключем банк не дублює платіж. API-інтеграція надійніша за файловий обмін у 3 рази за частотою збоїв: ми заміряли — в середньому 2 збої на 1000 операцій проти 7.

Етапи розробки

Етап Зміст Термін
Аналітика Вивчення API банку, сценарії, ТЗ 3–5 днів
Базова інтеграція OAuth2, отримання виписки, відображення в CRM 1–2 тижні
Вхідні платежі Webhook, матчинг транзакцій з угодами 1 тиждень
Вихідні платежі Створення платіжок, погодження, відправка 1–2 тижні
Ручний матчинг UI для нерозпізнаних надходжень 3–5 днів
Тестування та налагодження Sandbox банку, граничні випадки 1 тиждень

Конкретні терміни зсуваються залежно від якості документації банку та наявності sandbox-середовища. У Тінькофф та Альфи пісочниці хороші. У ряду регіональних банків — немає, і тоді налагодження ведеться акуратно в продакшн-середовищі з тестовими сумами.

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

  • Документація по API та налаштуванню інтеграції
  • Доступ до вихідного коду (за потреби)
  • Навчання співробітників роботі з новим функціоналом
  • Підтримка на етапі впровадження та перший місяць експлуатації

Отримайте консультацію щодо вашого сценарію — ми підберемо оптимальне рішення під ваш банк та бізнес-процеси. Замовте інтеграцію з гарантією безпеки та окупністю менше півроку.