Разработка мобильного приложения для криптоплатежного шлюза

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1735 услуг
Разработка мобильного приложения для криптоплатежного шлюза
Сложный
от 2 недель до 3 месяцев
Часто задаваемые вопросы

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

Этапы разработки

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    495

Разработка мобильного приложения для криптоплатежного шлюза

Криптоплатёжный шлюз — это инфраструктурный продукт между мерчантом и блокчейном. Мерчант интегрирует шлюз в свой сайт или приложение через API, покупатель платит криптовалютой, шлюз подтверждает транзакцию и сигнализирует мерчанту об оплате. Мобильное приложение шлюза — это, как правило, два отдельных продукта: панель мерчанта (управление, аналитика, выводы) и SDK для покупателей (checkout flow).

Панель мерчанта: ключевые экраны

Мобильное приложение для мерчанта — упрощённый дашборд с ключевыми метриками:

  • Входящие платежи в реальном времени
  • Баланс в криптовалютах и его USD-эквивалент (через CoinGecko или собственный price feed)
  • История транзакций с фильтрами (статус, валюта, сумма, дата)
  • Настройки: список принимаемых монет, адреса для автовывода, вебхуки
  • Вывод средств

Данные мерчанта — не из блокчейна напрямую, а из базы данных самого шлюза через REST API. Блокчейн мониторит серверная часть.

Мониторинг входящих транзакций

Серверная часть шлюза слушает блокчейн и обновляет статус платежей. Мобильное приложение получает обновления через WebSocket или Server-Sent Events.

// Android — SSE-поток платежей мерчанта
fun observeMerchantPayments(merchantId: String): Flow<PaymentEvent> = callbackFlow {
    val client = OkHttpClient()
    val request = Request.Builder()
        .url("$baseUrl/merchants/$merchantId/events")
        .addHeader("Authorization", "Bearer $token")
        .build()

    val sse = client.newCall(request).execute()
    val reader = sse.body!!.source()

    while (!reader.exhausted()) {
        val line = reader.readUtf8Line() ?: break
        if (line.startsWith("data: ")) {
            val event = json.decodeFromString<PaymentEvent>(line.removePrefix("data: "))
            trySend(event)
        }
    }
    awaitClose { sse.cancel() }
}

При получении события PAYMENT_CONFIRMED — push-уведомление мерчанту: «Получен платёж: 150 USDT от 0x...».

Checkout SDK: flow покупателя

Для покупателей (если шлюз предоставляет SDK) — мобильный checkout это:

  1. Показать экран с суммой в фиате и эквивалентом в крипте (живая котировка)
  2. Выбор криптовалюты из поддерживаемых
  3. QR-код с платёжным адресом и суммой (URI-формат для конкретной сети)
  4. Таймер: курс зафиксирован на N минут
  5. Ожидание подтверждения транзакции
  6. Экран успеха / ошибки / таймаут
// iOS — генерация платёжного URI для checkout
func buildPaymentUri(network: PaymentNetwork, address: String, amount: Decimal, tokenContract: String?) -> String {
    switch network {
    case .ethereum:
        if let contract = tokenContract {
            // ERC-20 (USDC/USDT)
            let rawAmount = (amount * pow(10, 6)).description // USDC 6 decimals
            return "ethereum:\(contract)@1/transfer?address=\(address)&uint256=\(rawAmount)"
        }
        return "ethereum:\(address)?value=\((amount * 1e18).description)"
    case .bitcoin:
        return "bitcoin:\(address)?amount=\(amount)"
    case .tron:
        return "tron:\(address)?amount=\(amount)&token=\(tokenContract ?? "")"
    }
}

Underpayment и Overpayment

Пользователь мог отправить меньше или больше требуемой суммы. Стратегии:

Underpayment: ожидать доплату в течение периода (обычно 24 часа), иначе — возврат или частичный зачёт.

Overpayment: автоматический возврат разницы или зачисление на баланс пользователя в системе мерчанта.

Логика на серверной стороне, но мобильный UI должен корректно отображать все эти статусы.

Поддержка нескольких сетей

Профессиональный шлюз принимает USDT на Ethereum, USDT на TRON, USDC на Polygon, BTC, SOL. Каждая сеть — свои особенности:

Сеть Время подтверждения Комиссия Стандарт
Ethereum 15–30 сек (1 block) $0.5–5 ERC-20
Tron 3 сек $0–1 TRC-20
Polygon 2 сек $0.001–0.01 ERC-20
BSC 3 сек $0.1–0.5 BEP-20
Bitcoin 10–60 мин $1–10 Native

Мерчант выбирает поддерживаемые сети в настройках. Покупателю показывается оптимальная (по скорости и комиссии) или все доступные.

Автоматический sweep

Поступившие средства нужно консолидировать с адресов-депозиторов на горячий кошелёк. Sweep-агент запускается периодически или по триггеру входящего платежа. В мобильном приложении мерчанта — только статус: «Автосбор настроен, средства отправляются на master wallet через X минут».

Сроки разработки

Компонент Срок
Дашборд мерчанта: баланс, история 1 неделя
Real-time поток входящих платежей (SSE/WS) 1 неделя
Checkout SDK: QR + таймер + статусы 1 неделя
Поддержка 3+ сетей 1 неделя
Настройки: монеты, вебхуки, вывод 1 неделя
Push-уведомления 3 дня

Мобильное приложение шлюза (без серверной части): 5–8 недель. Серверная инфраструктура шлюза — отдельный проект, 2–3 месяца и более.