iPay 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
iPay 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

iPay Payment System Integration in Mobile Application

iPay.ua is a Ukrainian payment gateway supporting Visa/Mastercard cards, Apple Pay, and Google Pay. For mobile app the choice between native SDK and WebView form is resolved not by "what's more convenient" but by "what passes App Store Review" and "where conversion losses are minimal".

Two Paths and Their Real Consequences

WebView path — faster on start. iPay returns payment form URL, app opens SFSafariViewController (iOS) or Custom Chrome Tab (Android). Minus: user sees browser transition, Apple Pay inside WebView in SFSafariViewController works, but only if domain properly configured in Apple Pay Merchant ID. If developer forgot to set paymentRequest.merchantCapabilities and supportedNetworks server-side, Apple Pay won't appear — card form remains only option.

Native SDK — iPay provides iOS and Android SDK. On iOS it's IPay.framework (SPM or CocoaPods), on Android — AAR library via Maven. SDK launches native UIViewController / Activity with payment form, result returns via delegate/interface. Apple Pay here works correctly via PKPaymentAuthorizationViewController — SDK manages sheet itself.

Typical iOS SDK integration issue: developer adds IPay.framework but forgets to add PassKit.framework in Link Binary With Libraries, and on device (not simulator) gets dyld: Library not loaded when opening payment screen. Simulator doesn't reproduce it — crash only on real hardware.

How We Implement

SDK initialization in AppDelegate/App passes merchant ID and environment (production/sandbox). Payment launches with order parameters — amount, currency (UAH), description, order ID. SDK returns PaymentResult with enum status: success, failure, cancelled.

Critical: orderId must be unique per payment attempt. If user clicked "Pay", got network error, and retried with same orderId — iPay rejects as duplicate. Generate new UUID for each payment flow start.

Server side — webhook handler for payment.success / payment.failed. Mobile client must not change order status based on local callback alone — only after server confirmation. Client callback can be spoofed (Jailbreak/Root + proxy).

iOS: SPM → iPay SDK → PKPaymentAuthorizationViewController (Apple Pay)
Android: Maven → iPay SDK → Google Pay API → Activity Result
Server: webhook → HMAC-SHA256 signature check → order status update

For Flutter: native SDK wrapped in Platform Channel. Write MethodChannel('ipay'), on native side call SDK, return result via result.success(paymentResult).

Process

Get test credentials from iPay → sandbox testing with test cards → webhook handler configuration → Apple/Google Pay testing on real devices → production certificate → submit.

Timeline Estimates

WebView form integration: 1–2 days. Native SDK with Apple Pay + Google Pay + webhook: 2–3 days. If Flutter wrapper needed on top native SDK — plus 1 day.