Halva Installment Integration in Mobile App

NOVASOLUTIONS.TECHNOLOGY is engaged in the development, support and maintenance of iOS, Android, PWA mobile applications. We have extensive experience and expertise in publishing mobile applications in popular markets like Google Play, App Store, Amazon, AppGallery and others.
Development and support of all types of mobile applications:
Information and entertainment mobile applications
News apps, games, reference guides, online catalogs, weather apps, fitness and health apps, travel apps, educational apps, social networks and messengers, quizzes, blogs and podcasts, forums, aggregators
E-commerce mobile applications
Online stores, B2B apps, marketplaces, online exchanges, cashback services, exchanges, dropshipping platforms, loyalty programs, food and goods delivery, payment systems.
Business process management mobile applications
CRM systems, ERP systems, project management, sales team tools, financial management, production management, logistics and delivery management, HR management, data monitoring systems
Electronic services mobile applications
Classified ads platforms, online schools, online cinemas, electronic service platforms, cashback platforms, video hosting, thematic portals, online booking and scheduling platforms, online trading platforms

These are just some of the types of mobile applications we work with, and each of them may have its own specific features and functionality, tailored to the specific needs and goals of the client.

Showing 1 of 1 servicesAll 1735 services
Halva Installment Integration in Mobile App
Medium
~2-3 business days
FAQ
Our competencies:
Development stages
Latest works
  • image_mobile-applications_feedme_467_0.webp
    Development of a mobile application for FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Development of a mobile application for XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Development of a mobile application for RHL
    1054
  • image_mobile-applications_zippy_411_0.webp
    Development of a mobile application for ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Development of a mobile application for Affhome
    862
  • image_mobile-applications_flavors_409_0.webp
    Development of a mobile application for the FLAVORS company
    445

Halva Installment Integration in Mobile Application

Halva (Sovkombank) is an installment card which internet shops add as alternative to "buy now, pay later". In mobile app integration is built on Halva's REST API and deeplink transition to Halva app — if installed on device.

Two Scenario Flows

Halva app installed. User clicks "Pay with Halva Installment" → your app opens deeplink halva://partner/pay?orderId=...&amount=...&token=... → user sees confirmation screen in Halva app → confirms → Halva returns user via deeplink-callback to your app → server gets webhook about application status.

App not installed. Fallback to WebView form: open SFSafariViewController / Custom Tabs with Halva web form URL. Flow is same, just via browser.

Check app presence on iOS: UIApplication.shared.canOpenURL(URL(string: "halva://")!). Important: from iOS 9 need to add halva in LSApplicationQueriesSchemes in Info.plist, otherwise canOpenURL always returns false regardless of app presence. One of most common misses.

Installment Calculation

Before checkout user wants to see payment schedule: "12 months — X rubles/month". Halva provides /v1/installment/calculate API with amount and partnerId parameters. Response: list of available installment periods with payment amounts. Display as picker/chip component — user selects term, app updates monthly payment in realtime.

Cache calculation response for 10–15 minutes — installment terms don't change by minute, extra network requests slow UX.

Server Side

Mobile client must not call Halva API directly with secret keys. All flow via your server: application creation → token/URL receipt → client transmission. Halva webhook (application.approved / application.rejected) handled by server, changes order status, sends push to user.

Push on approval — important UX detail. User went to Halva app, returned, but didn't wait for answer. Push via Firebase Cloud Messaging (FCM) / APNs brings them back to order completion.

Typical Mistakes

  • Deeplink callback not handled at cold start (user swiped app from memory, Halva opens deeplink — app launches from zero, callback lost). Solution: save orderId in UserDefaults/SharedPreferences, on startup check pending applications.
  • Don't handle application.expired — application approved, but user didn't confirm within 30 minutes. Need timer and corresponding UI.

Flutter and React Native

On Flutter: deeplink handled via uni_links package. getInitialLink() at cold start, linkStream for foreground. On app start — check getInitialLink() for Halva callback presence, if yes — restore order context from SharedPreferences and show correct status screen.

On React Native: Linking.getInitialURL() + Linking.addEventListener('url', handler). Logic same — pending orderId stored in AsyncStorage.

Timeline Estimates

Full integration with installment calculation, deeplink flow and WebView fallback: 2–3 days. For Flutter/React Native with proper cold start handling — plus half day on Linking debugging.