Interactive Setup & Flow Guide

How App Setup & Automated UPI Payment Flow Works

Learn how to configure the Android companion app, understand its detection methods, and plan for device, network and payment-notification limitations.

Paymintio Android app

Paymintio Android

Follow the verified setup checklist shown beside and below this preview.

📱 Paymintio Android companion app

How Real-Time UPI Verification Works

Paymintio connects a registered Android phone with your e-commerce store or website. Detection time depends on server connectivity, Android background execution, and when the selected UPI app or bank delivers a notification or SMS.

Customer Scans Instant Amount QR

Customer selects an item on your store, enters their mobile number, and scans the dynamic UPI QR code pre-filled with the exact payment amount.

Notification, Bank SMS & Accessibility Detection

The app can process supported payment notifications and bank-credit SMS in the background. In App Settings, the merchant can select PhonePe Business, PhonePe, GPay, Paytm Business, Paytm, BharatPe, BHIM, or Airtel Merchant for optional visible-screen Accessibility recovery.

Server-Side Matching & Confirmation

When sufficient evidence is available, the matching engine links the transaction to an order, updates its status, and dispatches the configured webhook. Ambiguous payments remain unmatched for review.

View Complete Mobile App Setup Guide

1. Essential Mobile App Settings Checklist

Configure these permissions on every Android device. They improve background reliability but cannot guarantee uninterrupted operation on every manufacturer or network.

1️⃣ Auto Startup Permission

Go to App Info ➔ Auto Startup and toggle ON. This allows the app to start automatically when your phone boots up.

2️⃣ Unrestricted Background Battery

Go to App Info ➔ Power Saver / Battery and select Run in Background (Unrestricted) so Android never sleeps the service.

3️⃣ SMS & Notification Access

Go to App Info ➔ App Permissions and grant SMS and Notification Access permissions.

4️⃣ Accessibility Auto-Verify Service

Go to Settings ➔ Accessibility ➔ Downloaded Services and turn Paymintio Accessibility Auto-Verify = ON.

2. Android 8.0+ Compatibility, Setup & Limitations

Important: Android 8.0 (API 26) and newer are supported, but successful background operation cannot be guaranteed on every phone. Manufacturers may restrict auto-start, background data, foreground services, screen wake, or background activity launches.
Supported device families

The app uses standard Android APIs and includes compatibility paths and settings shortcuts for Samsung, Xiaomi, Redmi, POCO, Vivo, iQOO, Oppo, Realme, OnePlus, Huawei, Honor, Asus, and other Android 8.0+ devices. Each device must still be configured and tested individually.

FeatureScreen locked/offImportant limitation
Notification Listener Normally works in background The receiving UPI app must actually publish a notification; Android or the manufacturer may delay or suppress it.
Bank SMS Receiver Normally works in background The bank and mobile carrier control delivery time. SMS is not guaranteed to be instant.
Accessibility History Scan Requires the selected UPI app UI to become visible It cannot read private databases or hidden storage. PhonePe Business history is fully tested; other app interfaces use best-effort generic parsing and interface changes may affect it.
Screen Wake Best effort on supported Android versions OEM background-launch and battery policies can block or delay the wake.
Automatic Keyguard Dismissal Only when already trusted/dismissible The app never bypasses PIN, password, pattern, biometric, SIM PIN, Identity Check, Lockdown, or an app lock.
Required configuration on every phone
  1. Install the latest APK, log in, register the device, then open App Settings and select the installed receiving UPI app. Keep that app signed in.
  2. Grant Notification Access, SMS permission, app notifications, and optional Accessibility Auto-Verify.
  3. Set battery use to Unrestricted; allow Auto Start, background activity, background data, Wi-Fi and mobile data.
  4. Open Help & Battery Troubleshooting in the app for manufacturer-specific Auto Start and App Info shortcuts.
  5. After a reboot, manually unlock once. Android may not restore a trusted state until the first authenticated unlock.
  6. Use Debug System Status to confirm the foreground monitor, server polling, Accessibility runtime, selected UPI app, wake request, keyguard decision, and app launch.
Smart Lock / Extend Unlock

A Trusted Place works only in or near its configured location. For broader mobility, a user may choose a trusted Bluetooth device or on-body detection where Android and the manufacturer support them. Trust can expire, and the phone may require manual authentication again.

Setting a dedicated merchant phone to Swipe or no secure screen lock can allow dismissal in more locations, but materially reduces device security. Paymintio does not change lock settings and does not enter or store any PIN, password, pattern, biometric, UPI PIN, or OTP.

Pending-request polling and retries
  • The registered phone polls the server approximately every 5 seconds while the foreground monitor is healthy.
  • A newly detected pending request triggers a best-effort screen wake and launch of the merchant-selected UPI app.
  • If the request remains pending, the app retries no more than approximately once every 60-65 seconds.
  • Retries stop after verification or request expiry.
  • The permanent monitoring notification and a fresh Device Last Seen time indicate that polling is alive.
Debug procedure
  1. Open Home > Debug System Status and confirm the last server poll is recent.
  2. Use Test Screen Wake in 10 Seconds, turn the screen off, and wait.
  3. If the screen remains off, unlock manually and read the recorded wake and keyguard results.
  4. If polling is stale, restart the background monitor and correct OEM battery/data settings before testing another payment.

3. PhonePe Business Masked Number Matching (******2696)

PhonePe Business displays received payments with masked customer phone numbers (e.g. ******2696).

Stronger Identity Matching:

When a customer inputs their mobile number during checkout (e.g., 9876500000), the engine can compare the last 4 digits (0000) with visible PhonePe data, bank SMS/VPA information, and a transaction reference. A valid unique UTR and exact amount provide stronger evidence. Multiple same-amount orders without distinguishing customer details are not selected arbitrarily and remain unmatched for review.

4. WooCommerce Plugin Integration

  1. Download paymintio-woocommerce.zip from your Merchant Dashboard.
  2. In WordPress Admin, navigate to Plugins ➔ Add New ➔ Upload Plugin and select the ZIP file.
  3. Click Activate Plugin.
  4. Navigate to WooCommerce ➔ Settings ➔ Payments ➔ Paymintio UPI.
  5. Copy the WooCommerce callback URL shown by the plugin and add it under Merchant Dashboard ➔ Webhooks.
  6. Copy the generated full secret into WooCommerce. It authenticates payment creation and verifies signed callbacks.
⚡ REST API Endpoints Reference
Create Payment Request

Endpoint: POST /api/payment-requests

POST https://upi.paymintio.com/api/payment-requests
Content-Type: application/json
X-Merchant-Secret: YOUR_WEBHOOK_SECRET

{
    "order_reference": "ORD_10092",
    "amount": 10.00,
    "customer_name": "Rahul Sharma",
    "customer_phone": "9876500000",
    "expires_in_minutes": 10
}
Never expose the merchant secret in browser JavaScript or mobile client code. Create payment requests from your ecommerce server only.
Check Real-Time Status (1.0s Polling)

Endpoint: GET /api/pay/{public_id}/status

GET https://upi.paymintio.com/api/pay/PAY_FVPKJBAFVVC4/status

Response:
{
    "success": true,
    "public_id": "PAY_FVPKJBAFVVC4",
    "status": "verified",
    "verification_level": "strong",
    "transaction_reference": "621911473253"
}

5. Production Reliability & Payment Safety

Notification, SMS and Accessibility detection are phone-dependent fallback methods. They are not equivalent to a bank or payment-gateway confirmation and should not be advertised as guaranteed or instant.

  • Keep an order pending when evidence is missing, delayed, duplicated, ambiguous, or rejected.
  • Use a unique transaction reference when available and reject duplicate UTR/reference values.
  • Do not auto-select between multiple same-amount orders without sufficient customer details.
  • Provide merchant-side manual reconciliation for unmatched transactions.
  • Never collect, store, transmit, or automate UPI PINs, bank passwords, OTPs, device PINs, patterns, or biometrics.
  • Do not rely on Accessibility to initiate payments or interact with payment authorization controls.
Recommended production architecture: use an official payment-gateway or bank collection API with signed server-to-server webhooks and a payment-status API as the primary confirmation source. Use Android notification/SMS detection only as a clearly disclosed fallback.