Skip to content

Redundant "Enter UPI ID" prompt even after QR Scanning ----Scanner should bypass Recipient Dialogue #7

Description

@Aaditthesmart

Content:
Description

Currently, when a user scans a UPI QR code, the app correctly extracts the UPI ID. However, when the payment is initiated, the USSD flow still prompts the user with a dialog asking to "Enter UPI ID".

Even if the Accessibility Service eventually auto-fills this, the user is forced to see and wait for a manual-style prompt. This behavior contradicts the logic of scanning a QR code, which is intended to be a shortcut that skips recipient identification entirely (similar to how Google Pay or PhonePe work).

Analysis
The issue stems from two areas:

Generic Dialing: The app calls 991# in MainActivity.kt. This lands the user on the top-level "Send Money" menu, requiring multiple subsequent steps to select "UPI ID" and then enter the ID.

Lack of Direct Bypass: If a QR contains a mobile-linked UPI ID (e.g., 87082*****@ptaxis), the app could bypass the "Enter UPI ID" prompt entirely by using a direct USSD dial string.

Steps to Reproduce

  • Open the app and scan any valid UPI QR code.
  • Enter an amount and your UPI PIN.
  • Click "Pay".

Actual Result: A system USSD dialog appears asking for the "UPI ID" (and sometimes the "Send Money" menu choices), despite the QR having already provided this.

Expected Behavior
The flow should be Scan -> Amount -> PIN -> Done. The USSD interaction should be hidden or bypassed using "Deep Link" USSD strings. As long as the ID is captured via QR, the user should never see a USSD prompt asking for it again.

Proposed Solution
Update the initiatePayment function to use direct USSD dialing based on the recipient type:

Extract Mobile Number: If the UPI ID is mobile-based (contains a 10-digit number), extract it.
Direct Dialing:
For Mobile Recipient: Dial 9911<MOBILE_NUMBER># to go straight to the Amount prompt.
For UPI ID Recipient: Dial 991*3# to skip the initial menu and land directly on the ID prompt (which the service should fill instantly).

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions