MineSec Pay Application
White-label Integration
Introduction

White-label Integration

MSA Core is a Kotlin Multiplatform library that provides a complete payment solution for Android. It handles all payment processing, transaction management, and business logic — you provide the UI using Jetpack Compose.

This allows you to build a fully branded payment application while leveraging MineSec's certified payment infrastructure.


How It Works

MSA Core follows a Screen Provider pattern. The library manages navigation, state, and business logic. You implement the UI for each screen by receiving state and emitting actions:

┌─────────────────────────────────────────────────────────┐
│                      MSA Core                           │
│  ┌─────────────┐    ┌─────────────┐    ┌─────────────┐  │
│  │   State     │───▶│  Your UI    │───▶│   Action    │  │
│  │  (Data)     │    │ (Compose)   │    │  (Events)   │  │
│  └─────────────┘    └─────────────┘    └─────────────┘  │
│        ▲                                      │         │
│        └──────────────────────────────────────┘         │
│                    State Update                         │
└─────────────────────────────────────────────────────────┘

Every screen receives an immutable State object and a triggerAction callback:

@Composable
fun YourScreen(
    state: ScreenState,        // Data to display
    triggerAction: (ScreenAction) -> Unit  // Events to send back
)

What MSA Core Provides

CapabilityDetails
Payment ProcessingSale, Pre-Auth, Refund via NFC card tap
QR PaymentsConsumer scan, merchant scan, multiple schemes
Transaction ManagementHistory, details, receipts
SettlementBatch settlement and reporting
App-to-App IntegrationAccept transactions from external POS apps
AuthenticationPasscode login, biometric support
Device ManagementNFC, attestation, environment config

What You Build

You implement the UI layer for each screen using Jetpack Compose. MSA Core provides the state and handles all actions — you decide how it looks.

The example project (opens in a new tab) demonstrates a complete implementation with all screens.


Next Steps

  1. Installation — Add MSA Core to your project
  2. Quickstart — Set up your app and implement your first screen
  3. Theming & Branding — Customize colors, typography, and images
  4. Screen Providers Reference — All available screens and their State/Action classes