angularhyperlinkpaymentdeep-linkingupi

UPI : Deep linking URL with signing


I'm Building an website & it has a payment button. I'm not much interested to integrate any payment gateway. I want the website to redirect to the UPI apps and the user can enter the amount and pay there when they use it on mobile.

So I'm using UPI intent flow to redirect users to the UPI apps, but the payment in failing in all UPI apps like gpay, phonepay, whatsapp, paytm etc.
Sample : upi://pay?pa=9000000009@upi&pn=User1&tn=Test UPI&am=20&cu=INR&mc=1234&tr=01234

I found that since we are using personal UPI Ids in the UPI intent its failing and if we use business/merchant UPI Ids it will work.

Query : How come a QR-Code in many shop works which has individual UPI Ids, while the URL Intent alone for that personal UPI Id is not working.
Example : I have an Customer with an QR code in his shop which is not registered as Merchant and the users can able to scan and pay in the shop, when i use the same UPI Id from QR to the UPI Intent its failing. Why its failing?

I found some thing in the UPI document like signature (1.3 Signature) in which it says to generate a key pair and share it to NPCI in offline mode. Can we as a end-user do it? How to achieve this signing of the UPI Intent?

My end goal is to Just redirect to the UPI Payment Apps and nothing more than that, Not to integrate any payment gateways in the website.

UPI Documentation


Solution

  • I recently found that paytmmp keywork works, When we construct the URL with this keyword and the payment get accepted.

    This works even with the non-merchant (Individual) UPI Id's.

    paytmmp://pay?pa=9000000009@upi&pn=User1&tn=Test UPI&am=20&cu=INR&mc=1234&tr=01234

    Need some kind of solution for Gpay & phonepe also.