2

I am facing a problem with Google pay integration(in-app payment) in android app. When I make a request to transact I am getting the error "You have exceeded the maximum transaction amount set by your bank" even though that is my first transaction. And when I try to send amount directly from Google pay it works.

This is the Google pay's in-app payment resource.

Here is code


Uri uri = new Uri.Builder()
                .scheme("upi")
                .authority("pay")
                .appendQueryParameter("pa", upiId) //receiver's upiId
                .appendQueryParameter("pn", name)  //receiver's name
                .appendQueryParameter("tn", transactionNote) // reason for transaction
                .appendQueryParameter("am", amount) // amount
                .appendQueryParameter("cu", "INR")
                .build();
// Intent to call GPay app
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(uri);
intent.setPackage(GOOGLE_PAY_PACKAGE_NAME);
startActivityForResult(intent, GOOGLE_PAY_REQUEST_CODE);

I have gone through quite a number of resources online but didn't find any solution. Any help or suggestions would be greatly helpful ?

AmigoPal
  • 39
  • 1
  • 4

3 Answers3

1

I got the same problem when I send money from Intent Call.

I found one solution for that. if you Send money to Google pay business account (verified) then it works fine for me.

I suggest making a G-Pay business Account and Vefired by following Google Conditions. Then .appendQueryParameter("pn", name) in the name section set Your G-Pay Business UPI id. After that, it should Work Fine.

G-Pay Business Id like This -> xxxxxxxxxx@okbizaxis

I hope Your Problem solve.

Note: Sender G-Pay Normal Account is fine. But Receiver G-Pay Account Must be Business Account.

Prince Patel
  • 319
  • 3
  • 5
  • https://stackoverflow.com/q/76988284 Facing a similar issue, but the receiver ID is a **business UPI ID** – George Aug 28 '23 at 08:26
0

Facing the same problem. Was working fine a couple of weeks earlier. Suddenly stopped working

0

Yes, From 20th Oct 2020, Google pay app is showing the error "bank limit exceeded" when using intent call. The solution is simple,

    • Now google pay normal app ID can't be use for accepting payment via intent call. You need a google pay business app ID.
    • Use param "mc" and "tr" in intent call. Where "mc" stand for -"merchant code" and "tr" stand for - "transaction refer id" You can pass "mc" as blank value and "tr" can be any random value.

You can see complete details about it from here . As of now it is working perfectly for Google pay app.

Uri uri = Uri.parse("upi://pay").buildUpon()
     .appendQueryParameter("pa", upiId)  // google pay business id
     .appendQueryParameter("pn", name)
     .appendQueryParameter("mc", "")            /// 1st param - use it (it was commented on my earlier tutorial)
     //.appendQueryParameter("tid", "02125412")
     .appendQueryParameter("tr", "25584584")   /// 2nd param - use it (it was commented on my earlier tutorial)
     .appendQueryParameter("tn", note)
     .appendQueryParameter("am", amount)
     .appendQueryParameter("cu", "INR")
     //.appendQueryParameter("refUrl", "blueapp")
     .build();
Kamal Bunkar
  • 1,354
  • 1
  • 16
  • 20