Skip to content
Antino
All case studies

Fintech · Native Mobile Payment SDK

Safexpay

Multi-tenant payment gateway platform with microservices backend, React.js admin portal, and native mobile payment SDKs.

Safexpay
24
Weeks operated
3k+
Hours of work
6
Engineers

The brief

Augment SafexPay's existing payment gateway product (Magnati client) with a team of 6 developers to migrate the backend from MongoDB to PostgreSQL, build out institution/PG onboarding and risk management modules, deliver a React admin portal, and produce distributable native mobile payment SDKs (Android + iOS) that merchants can embed in their apps.

What we built

A full-stack payment gateway platform for SafexPay comprising:

  • Java microservices backend migrated from MongoDB to PostgreSQL with a shared pg_commons library (audit log, Redis cache, Kafka notifications, email/SMS)
  • institution and payment gateway onboarding APIs with temp→master approval workflows across 4 linked DB tables
  • risk management system (negative BINs, IPs, countries, decline cards) with alert thresholds
  • a React.js admin portal (Magnati portal) with 10+ configuration modules
  • a native Android payment SDK packaged as AAR with AES-256 encryption, SHA-256 hashing, WebView 3DS auth, save-card via Room DB, and ProGuard hardening
  • a native iOS payment SDK as XCFramework with WKWebView, AES-256-CBC, CoreData save-card, and PCI compliance groundwork — all with merchant integration documentation.
Live in production

Android AAR SDK demonstrated and handed over with integration documentation (Oct 31, 2025); iOS XCFramework built and tested on device + simulator; React admin portal wired to backend APIs across all major configuration modules; institution and payment gateway onboarding APIs fully tested end-to-end; audit log service capturing request_id, IP, user_id deltas in PostgreSQL.

Delivery timeline

How it was built, phase by phase.

8 workstreams across 24 weeks of operated delivery.

  1. discoverWeek 1–4 (May 21 – Jun 12, 2025)

    Project Onboarding & Environment Setup

    Multi-week ramp covering team onboarding, tool access provisioning (Jira, Bitbucket, Outlook, OneDrive), codebase familiarization, and development environment configuration across microservices (openjdk-21, Maven.

    All developers provisioned with client accounts, repositories cloned, environments running, and project context understood

    JiraBitbucketOutlookOneDriveMavenopenjdk-21
  2. buildWeek 2–10 (May 30 – Jul 16, 2025)

    Database Migration: MongoDB → PostgreSQL

    Comprehensive migration of existing NoSQL data models to relational PostgreSQL schema including JDBC DAO layer replacement of JPA, OLTP/OLAP utility design, pg_cron scheduling, and temp-to-main-table approval workflows.

    PostgreSQL schema finalized with JDBC DAO layer; migration strategy for core payment entities established

    PostgreSQLpgAdminJDBCJPApg_cronJava
  3. buildWeek 3–14 (Jun 2 – Aug 31, 2025)

    Microservices Architecture & Shared Library (pg_commons)

    Design and implementation of shared pg_commons library providing audit logging, email/SMS notification, Redis cache client, and generic reusable components consumed by all downstream microservices.

    Reusable pg_commons library with audit log, email/SMS, and Redis cache APIs ready for consumption by all services

    JavaSpring BootRedisKafkaPostgreSQLJDBC
  4. buildWeek 4–16 (Jun 17 – Aug 22, 2025)

    React Admin Portal UI (Magnati/Payment Gateway Portal)

    React.js admin portal covering meta configuration (country, pay mode, brand), risk management (negative bins, IPs, countries, decline cards), terminal configuration (5-tab form), institution management.

    Comprehensive admin portal with 10+ configuration modules wired to backend APIs with CRUD, approval workflows, and role-based access

    React.jsNext.jsMUIYupReact Admin
  5. buildWeek 5–24 (Jun 23 – Oct 31, 2025)

    Android Payment SDK (AAR/Native)

    Native Android payment SDK packaged as AAR with AES-256 encryption/decryption, merchant request hashing (SHA-256), WebView-based 3DS authentication page, save-card with Room local storage.

    Production-ready Android AAR SDK with encrypted payment flow, WebView 3DS, save-card, and merchant integration documentation delivered

    AndroidJavaAES-256-CBCSHA-256RoomWebView
  6. buildWeek 7–10 (Jul 1 – Jul 31, 2025)

    Risk Management Module

    Backend and frontend implementation of risk profiling system including negative bins, negative IPs, negative countries, decline cards, alert thresholds across General/Card/IP/Terminal dimensions.

    Full risk management module with CRUD + approval + status management APIs and admin UI wired end-to-end

    JavaSpring BootPostgreSQLReact.jsJDBC
  7. buildWeek 8–15 (Jul 3 – Aug 4, 2025)

    Payment Gateway Onboarding & Institution Management APIs

    Full backend CRUD lifecycle for institution (payment gateway) onboarding: create, edit, approve, reject, view.

    Complete institution and payment gateway CRUD + approval flow APIs tested end-to-end with multi-table data transitions

    JavaSpring BootPostgreSQLJDBCpgAdminBitbucket
  8. buildWeek 12–24 (Aug 11 – Oct 31, 2025)

    iOS Payment SDK (XCFramework/Swift)

    Native iOS payment SDK as XCFramework with WKWebView for payment form rendering, AES-256-CBC encryption/decryption utilities, CoreData for save-card, xcframework dual-architecture build (simulator + device).

    Distributable XCFramework iOS SDK with encrypted payment, WebView checkout, CoreData save-card, and documented integration guide

    SwiftWKWebViewCoreDataXCFrameworkAES-256-CBCSwift Package Manager

09 · Run a function

Stop renting hours. Start running functions.

Pick the function you want off your plate. We'll map the brain and name the outcome we'd commit to — before you do.