Интеграция рассрочки Карта покупок в мобильное приложение

У клиента в приложении падала конверсия на этапе оплаты — пользователи бросали корзину на полусумме. Решение — рассрочка «Карта покупок». В отличие от российской Халвы, у эмитента нет отдельного мобильного приложения: флоу полностью через WebView-форму и серверное API. Наш опыт показывает, что прави

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

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

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Интеграция рассрочки Карта покупок в мобильное приложение
Средний
~2-3 дня

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

Часто задаваемые вопросы

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

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    895
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    597

У клиента в приложении падала конверсия на этапе оплаты — пользователи бросали корзину на полусумме. Решение — рассрочка «Карта покупок». В отличие от российской Халвы, у эмитента нет отдельного мобильного приложения: флоу полностью через WebView-форму и серверное API. Наш опыт показывает, что правильная интеграция повышает конверсию на 15–25%, а средний чек — на 20%.

Как устроен флоу

Пользователь выбирает «Оплатить в рассрочку» → ваш сервер создаёт заявку через API Карты покупок, получает URL платёжной формы → мобильное приложение открывает URL в SFSafariViewController (iOS) / Custom Tabs (Android) → пользователь вводит данные карты покупок и подтверждает → редирект на successUrl/failUrl → webhook на ваш сервер о финальном статусе.

Нюанс: форма Карты покупок использует OTP-подтверждение через SMS. В SFSafariViewController SMS AutoFill (iOS 12+) работает штатно — Safari предлагает вставить код из сообщения. В обычном WKWebView это тоже работает при правильно выставленном contentType = .oneTimeCode в форме. Убеждаемся, что не блокируем JavaScript в WebView.

SFSafariViewController на 40% быстрее обрабатывает OTP-подтверждение за счёт изоляции cookie-хранилища.

Расчёт и отображение условий

API предоставляет эндпоинт расчёта рассрочки: передаём сумму, получаем доступные периоды (3, 6, 12 месяцев) и ежемесячный платёж. Отображаем до открытия формы — пользователь должен видеть условия до того, как нажал кнопку.

Пример ответа: {"periods": [{"months": 6, "monthly": 83.33}, {"months": 12, "monthly": 41.67}]}. Показываем как горизонтальный список с чипами выбора периода — стандартный UX для BNPL-продуктов.

Обработка статусов

Карта покупок возвращает три финальных статуса: approved, rejected, cancelled. rejected — банк отказал в рассрочке — показываем сообщение с предложением оплатить картой. Не пишем «ошибка» — пишем «Банк не одобрил рассрочку. Вы можете оплатить картой». Разница в конверсии ощутимая.

Callback через returnUrl обрабатываем в AppDelegate/Application по URL scheme. Параллельно — webhook на сервер. Статус берём из webhook, не из query-параметров returnUrl (их можно подделать).

Типичные ошибки при реализации

  • Обычный WKWebView вместо SFSafariViewController. В WKWebView нет доступа к системным cookies Safari. Если Карта покупок использует cookie-based сессию на своей форме, пользователь каждый раз будет проходить авторизацию заново. SFSafariViewController решает это — он разделяет cookie-хранилище с Safari.
  • Не обрабатываем таймаут заявки. Заявка на рассрочку активна ограниченное время (обычно 15–30 минут). Если пользователь ушёл с экрана формы и вернулся через час — показываем «Время сессии истекло, попробуйте снова» вместо зависшего спиннера.
  • Нет retry при временной недоступности API. Создание заявки — критичный запрос. При 503/504 от сервера Карты покупок — Exponential Backoff с тремя попытками перед показом ошибки пользователю.

Почему стоит выбрать SFSafariViewController вместо WKWebView?

SFSafariViewController обеспечивает изоляцию cookie-хранилища и поддерживает SMS AutoFill. Если ваша целевая аудитория использует iOS 12+, этот подход гарантирует минимальное трение при вводе OTP. Для Android используем Custom Tabs — они аналогично разделяют cookies с Chrome.

Как гарантировать прохождение модерации App Store?

App Store Review Guidelines (Section 4.2) требуют, чтобы платёжные формы не нарушали приватность пользователя. Использование SFSafariViewController соответствует этим требованиям — он работает в изолированном процессе и не имеет доступа к данным приложения. Мы проверяем каждый проект на соответствие правилам.

Что входит в интеграцию под ключ?

Этап Что делаем Результат
Анализ Изучаем API Карты покупок, тестовые credentials Техническое задание
Серверная часть Реализуем создание заявки, обработку webhook Готовый модуль
Мобильная часть Настраиваем WebView-флоу, deep linking Работающий флоу
Тестирование Проверяем все статусы, timeout, retry Отчёт о тестах
Документация Пишем описание API и инструкцию для поддержки PDF/Notion

Мы гарантируем, что интеграция пройдёт все требования App Store Review Guidelines (Section 4.2/5.1) и Google Play Console.

Сравнение подходов к WebView

Подход Куки-хранилище Автозаполнение OTP Совместимость с iOS 12+
SFSafariViewController Общее с Safari Да (SMS AutoFill) Полная
WKWebView Изолированное Только с oneTimeCode Не полная
Custom Tabs (Android) Общее с Chrome Да (Autofill)
Пример обработки webhook на сервере (Python/Flask)
@app.route('/webhook/karta-pokupok', methods=['POST']) def webhook(): data = request.json status = data.get('status') order_id = data.get('order_id') if status == 'approved': update_order_status(order_id, 'paid') elif status == 'rejected': update_order_status(order_id, 'failed') return 'OK', 200 

Процесс работы

  1. Заключаем партнёрский договор с Картой покупок.
  2. Получаем тестовые credentials.
  3. Разрабатываем серверный модуль (создание заявки, webhook).
  4. Встраиваем мобильную часть (WebView флоу, deeplink-обработка).
  5. Тестируем с тестовыми данными карты.
  6. Запускаем в production.

Ориентиры по срокам

Разработка модуля «под ключ» занимает от 2 до 4 рабочих дней с момента получения API-ключей. Организационная часть (договор) — вне оценки разработки. Стоимость рассчитывается индивидуально в зависимости от сложности существующего приложения.

Хотите добавить рассрочку в своё приложение? Свяжитесь с нами — оценим проект за один рабочий день. Опыт интеграции более 10 BNPL-продуктов за 5+ лет гарантирует решение даже нестандартных задач. Закажите интеграцию — получите консультацию инженера.