UPI Fee Fails with “Restrict Exceeded” for Small Quantities (₹2–₹100)
I’ve carried out a third-party UPI fee circulate in my Flutter app, however funds are failing with a “Restrict Exceeded” error even for very small quantities.
Present Stream
-
Person scans a QR code
-
QR knowledge is parsed efficiently
-
Fee particulars display reveals:
-
Receiver title
-
UPI ID
-
Service provider data
-
-
Person enters quantity (or it is prefilled)
-
Person faucets Pay
-
UPI app (Google Pay / PhonePe / Paytm) opens
-
Particulars are prefilled appropriately
-
Person enters UPI PIN
-
Fee fails with “Restrict Exceeded”
Downside
The error happens even for small quantities like:
So that is seemingly not an precise restrict subject.
Implementation (Related Code)
closing String rawPayload =
'upi://pay?pa=$upiId&pn=$title$amountStr&tn=$observe&cu=INR';
closing Uri gpayIntentUri = Uri.parse(
'intent://pay?$rawPayload#Intent;scheme=upi;bundle=com.google.android.apps.nbu.paisa;finish'
);
Observations
-
I’m wrapping the UPI URI inside a Google Pay intent
-
I additionally use a fallback for PhonePe
-
For private funds, I typically take away parameters like
am,tr, and many others.
Questions
-
Is my UPI intent format incorrect?
-
Can wrapping
upi://payinsideintent://paytrigger points? -
Might this error be attributable to:
-
Is there a distinction in dealing with:
Anticipated Final result
Funds ought to succeed for small quantities throughout all UPI apps.
What I Want
-
Root explanation for false “Restrict Exceeded”
-
Appropriate solution to construct UPI intent
-
Any fixes required in parameters or circulate
