Інтеграція платіжної системи Белкарт у мобільний додаток

Інтеграція Белкарт у мобільний додаток часто стикається з організаційними складнощами: без договору з банком-еквайєром немає доступу до API та тестового середовища. Ми беремо на себе весь цикл — від вибору банку й отримання ключів до налаштування платіжного модуля та обов'язкового 3D-Secure. Наша команда реалізує проєкт під ключ із подальшою підтримкою, забезпечуючи надійний і безпечний прийом платежів для ваших користувачів.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Інтеграція платіжної системи Белкарт у мобільний додаток
Складний
~2-3 дні
Часті запитання

Белкарт — національна платіжна система Білорусі. Інтеграція в мобільний застосунок принципово відрізняється від Stripe або Checkout.com: немає публічного SDK, робота відбувається через банки-еквайери (Беларусбанк, БПС-Сбербанк, Приорбанк, Альфа-Банк).

У кожного свої API, документація та вимоги. За даними Національного банку, частка Белкарт у безготівкових платежах перевищує 30%, тому для локальних бізнесів підключення цієї системи стало обов’язковим.

Без договору еквайрингу інтеграція не зрушить з місця — це перше, що потрібно з’ясувати до початку розробки.

Де зазвичай спотикаються

Найчастіша ситуація: клієнт каже «інтегруй Белкарт», а конкретного банку-еквайера ще немає. Без договору немає API-ключів, без ключів — немає тестового середовища. Інтеграція блокується не технічно, а організаційно.

Ми беремо паузу на отримання credentials, паралельно готуємо платіжний модуль застосунку під абстрактний інтерфейс — PaymentGateway протокол/інтерфейс — щоб потім підставити конкретну реалізацію.

Технічно: більшість білоруських банків надають платіжну форму через redirect або iframe. Для мобільного застосунку це означає SFSafariViewController на iOS або Custom Tabs на Android — точно так само, як WebView-інтеграція iPay. Нативного SDK у банків немає — працюємо з REST API та WebView-формою.

Чому 3D-Secure обов’язковий?

Специфіка Белкарт-карток: 3D-Secure обов’язковий для всіх онлайн-транзакцій. Це означає, що redirect на сторінку підтвердження банку — неминуча частина флоу.

Якщо застосунок намагається обробити 3DS у звичайному WKWebView без SFSafariViewController, cookies банківської сторінки можуть не зберегтися між переходами, і 3DS зависне.

Використовуємо SFSafariViewController або коректно налаштовуємо WKWebView з дозволом cross-site cookies (allowsBackForwardNavigationGestures, правильний navigationDelegate).

SFSafariViewController забезпечує збереження cookies — до 3 разів рідше виникають помилки 3DS порівняно з кастомним WebView.

Як забезпечити безпеку транзакцій Белкарт?

Белкарт-транзакції містять PAN (номер картки) у masked вигляді — не логуємо навіть маскований PAN у Crashlytics або Firebase Analytics. Дані транзакції зберігаються тільки на сервері, клієнтський застосунок працює тільки з orderId та статусом.

Верифікація підпису webhook — обов’язкова. Беларусбанк і БПС використовують HMAC-SHA1 або SHA256 із секретним ключем. Якщо не перевіряти — будь-хто може надіслати фейковий payment.success на ваш endpoint.

Компонент iOS Android
Платіжна форма SFSafariViewController Custom Tabs (fallback WebView)
Глибокі посилання Universal Links / URL Scheme App Links / intent
Пуш-повідомлення APNs (через сервер) FCM (через сервер)
Логування Обмежене (без PAN) Обмежене (без PAN)

Типові помилки та їх вирішення

Помилка Причина Рішення
3DS не спрацьовує Cookies не зберігаються між переходами Використати SFSafariViewController або налаштувати WKWebView з cross-site cookies
Webhook не надходить Неправильний URL або IP не в білому списку Перевірити налаштування в особистому кабінеті банку, додати IP сервера
Redirect не повертається в застосунок Не налаштовані deep links Налаштувати Universal Links / App Links або URL Scheme
Помилка підпису Неправильний алгоритм або секрет Звірятися з документацією банку, використовувати HMAC-SHA256

Як будуємо інтеграцію

Флоу: застосунок створює замовлення на своєму сервері → сервер звертається до API банку-еквайера (REST, зазвичай HTTPS POST з JSON або form-encoded параметрами) → отримує URL платіжної форми → передає URL мобільному клієнту → клієнт відкриває форму в SFSafariViewController / Custom Tabs.

Після оплати банк робить redirect на returnUrl — специфічний URL вашого застосунку (yourapp://payment/result). На iOS обробляємо через Universal Links або URL Scheme в AppDelegate.

Паралельно сервер отримує webhook-повідомлення від банку — це основне джерело істини для статусу транзакції.

На Android нюанс із Custom Tabs: якщо на пристрої немає Chrome (наприклад, MIUI або One UI), Custom Tabs не запустяться, використовується WebView як fallback. Обов’язково тестуємо на таких пристроях.

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

  • Перевірка документації банку-еквайера та узгодження схеми інтеграції.
  • Розробка серверного модуля: створення замовлення, обробка вебхуків, перевірка підпису.
  • Реалізація платіжного модуля на iOS (Swift, SFSafariViewController) та Android (Kotlin, Custom Tabs).
  • Налаштування глибоких посилань для повернення після оплати.
  • Тестування 3DS-флоу на реальних картках Белкарт (до 5 тестових транзакцій).
  • Моніторинг перших 50 транзакцій у production та підтримка протягом 2 тижнів після запуску.

Процес

  1. Укладення договору еквайрингу з банком (клієнт).
  2. Отримання тестових credentials (1–2 тижні).
  3. Розробка серверної частини (створення замовлення, webhook).
  4. Мобільний платіжний модуль (iOS та Android).
  5. Тестування 3DS на реальних картках.
  6. Production-реліз.
  7. Моніторинг перших транзакцій.

Орієнтири за строками

Сама інтеграція — 2–3 дні після отримання API-документації та тестових ключів. Очікування договору з банком не входить в оцінку розробки. За досвідом, повний цикл від договору до релізу займає 2–4 тижні.

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

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

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

  • Розробка мобільного додатка для компанії FEEDME
    Розробка мобільного додатка для компанії FEEDME
    1010
  • Розробка мобільного додатку для компанії XOOMER
    Розробка мобільного додатку для компанії XOOMER
    903
  • Розробка мобільного додатку для компанії RHL
    Розробка мобільного додатку для компанії RHL
    1332
  • Розробка мобільного додатку для компанії ZIPPY
    Розробка мобільного додатку для компанії ZIPPY
    1180
  • Розробка мобільного додатку для компанії Affhome
    Розробка мобільного додатку для компанії Affhome
    1107
  • Розробка мобільного додатку для компанії FLAVORS
    Розробка мобільного додатку для компанії FLAVORS
    714