preferred_upi_launcher 0.0.2 copy "preferred_upi_launcher: ^0.0.2" to clipboard
preferred_upi_launcher: ^0.0.2 copied to clipboard

A Flutter plugin to discover installed UPI apps and launch them with pre-filled payment details. No payment gateway required.

preferred_upi_launcher #

A Flutter plugin to discover installed UPI payment apps and launch them with pre-filled payment details — directly, without any payment gateway or intermediary.

Platforms: Android 5.0+ (API 21+) · iOS 12.0+


What it does #

  • Discover which UPI apps (Google Pay, PhonePe, Paytm, etc.) are installed on the user's device
  • Launch a specific UPI app with the payee VPA, amount, and transaction reference already filled in
  • No PayU SDK, no Razorpay, no merchant account — money moves directly via the UPI network

Installation #

# pubspec.yaml
dependencies:
  preferred_upi_launcher: ^0.0.2
flutter pub get

Android setup #

Nothing required. The plugin's manifest is automatically merged into your app via Gradle.

iOS setup #

Add the following to your ios/Runner/Info.plist (inside the root <dict>):

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>gpay</string>
    <string>phonepe</string>
    <string>paytm</string>
    <string>upi</string>
    <string>amazonpay</string>
    <string>whatsapp</string>
    <string>cred</string>
    <string>mobikwik</string>
    <string>freecharge</string>
    <string>airtel</string>
</array>

Usage #

import 'package:preferred_upi_launcher/preferred_upi_launcher.dart';

// 1. Get installed UPI apps
final apps = await PreferredUpiLauncher.getInstalledApps();

// 2. Define payment details
const config = UpiPaymentConfig(
  payeeVpa: 'yourname@bank',     // UPI VPA of the recipient
  payeeName: 'Your Name',
  amount: '555',                  // INR, as a string
  transactionRef: 'ORD_001',      // unique order/transaction ID
);

// 3. Launch a specific app (e.g. from a list the user tapped)
await PreferredUpiLauncher.launchApp(app: apps[0], config: config);

Error handling #

import 'package:flutter/services.dart';

try {
  await PreferredUpiLauncher.launchApp(app: app, config: config);
} on PlatformException catch (e) {
  // e.code: APP_NOT_FOUND | INVALID_ARGUMENT | LAUNCH_ERROR | LAUNCH_FAILED
  print('Launch failed [${e.code}]: ${e.message}');
}

Supported UPI Apps #

Android — 23 apps detected by package name (+ intent catch-all for unlisted apps): Google Pay · PhonePe · Paytm · BHIM · Amazon Pay · WhatsApp Pay · CRED · MobiKwik · FreeCharge · Axis Pay · Axis Mobile · HDFC PayZapp · iMobile Pay · YONO SBI · Kotak · Airtel Thanks · Samsung Pay · DBS digibank · IDFC First Bank · Jupiter · Fi Money · BOB World · WhatsApp Business

iOS — 10 apps detected by URL scheme: Google Pay · PhonePe · Paytm · BHIM · Amazon Pay · WhatsApp Pay · CRED · MobiKwik · FreeCharge · Airtel Thanks


Requirements #

  • Physical device for testing (UPI apps are not available on emulators/simulators)
  • No payment status callback is provided — the plugin opens the UPI app but does not receive the result

Documentation #

Full internals documentation (how Android discovery works, how iOS URL schemes work, all error codes) is in document.md.

2
likes
150
points
13
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A Flutter plugin to discover installed UPI apps and launch them with pre-filled payment details. No payment gateway required.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter

More

Packages that depend on preferred_upi_launcher

Packages that implement preferred_upi_launcher