Difference between QR Code Scanning vs Hyperlink for Deeplink UPI Intent Payments

115 Views Asked by At

I have a merchant QR Code (like the qr code attached on shops) What I did was, I scanned the code and took the UPI Id and added amount to make it dynamic QR Code. Something like this:

upi://pay?am=100&cu=INR&pa=id@upi&pn=Store%20Name

When I convert this to QR Code and Scan, I am able to make the payment where the amount is prefilled as 100 rs

But, if I call the same URL on a browser as an hyperlink, the UPI / Phonepay apps opens with amount filled, but then the payments gets failed.

upi://pay?am=100&cu=INR&pa=id@upi&pn=Store%20Name phonepe://pay?am=100&cu=INR&pa=id@upi&pn=Store%20Name

The amount gets reversed with an error message as Transaction Failed. In paytm I get error as Payeer_account is not accepting payment In phonepay I get error as receiver's account is inactive.

The actual question: When the same links works when I scan qr code and choose the app, it works. When the same link opens from browser it doesnt work.

What am I missing here?

upi://pay?am=100&cu=INR&pa=id@upi&pn=Store%20Name

When I convert this to QR Code and Scan, I am able to make the payment where the amount is prefilled as 100 rs

But, if I call the same URL on a browser as an hyperlink, the UPI / Phonepay apps opens with amount filled, but then the payments gets failed.

upi://pay?am=100&cu=INR&pa=id@upi&pn=Store%20Name phonepe://pay?am=100&cu=INR&pa=id@upi&pn=Store%20Name

The amount gets reversed with an error message as Transaction Failed. In paytm I get error as Payeer_account is not accepting payment In phonepay I get error as receiver's account is inactive.

1

There are 1 best solutions below

0
Holehite Studio On

there is mainly Two/Three UPI flow to collect money.

  1. UPI Collect Flow
  2. UPI Intent Flow
  3. UPI QR Flow

1.) UPI Collect Flow: In upi collect flow merchant request to users VPA/UPI ID to collect money. when merchant make request to users VPA the users PSP app get notification about merchants request for payment user open their PSP app that is linked with the VPA and approve and decline the payment.

2.) UPI Intent Flow: In UPI Intent Flow the user clickes on button in merchants M - Website(Website that is for mobile only). the button hase deeplink that is provided by Payment Gateway and the upi://pay?pa... is only avalible for mobile website because desktop don't have proper app to deal with upi protocol. UPI's PSP APP has to accept the guidelines provided NPCI to process payment from the deeplink. when you use +91XXXX this type of url in your website and when you click on this type of url you automaticly redirected to your call application and with prefielld mobile number. Like this the UPI protocol works, all the PSP's APP need to handle upi://pay?pa... protocol. So that when you click on this type of link upi://pay?pa... in mobile, the pop up to select PSP's app will appear and you select your preferred UPI PSP's APP.

3.) UPI QR Flow: The UPI QR Flow is similar to UPI Intent Flow because the QR is genrated from the same Deeplink that is used in UPI Intent Flow. UPI QR is Static and Dynamic so that when Scanning QR tid is optional because PSP's can't Figure out that the QR is automatically genarated or manually created so that PSP's APP dont require tid in QR.


Problem scenario :

UPI's QR is for the static payments the payment without amount or the QR is used for Dynamic Payments like prefilled amounts. QR works fine Even if you have added amount manually for generating qr code. but UPI Intent Deeplink wont work from manually adding Amount we need a tid in the UPI Intent deeplink to track transection.

the tid is provided by payment gateway. payment gateway not only provide tid so called transectionID but also they provide full UPI Intent Deeplink with amount, merchant's VPA(upiID), merchant category code(MCC), transectionID(tid), transection Refrence Number(tr) and much more as mandatory arguments.

UPI Intent Deeplink and UPI QR that is genarated from payment gateway hase same deeplinks upi://pay?pa... but difference is about tid.

In UPI QR the tid is not mandatory because QR is 2 types Static and Dynamic, where static represets as QR that only have payee's VPA (receiver VPA) or any transection Note, and talking about Dynamic QR that have all mandatory arguments for tracking payment. So QR has 2 types so that the PSP's APP dont require tid and mendatory fields in the QR scaning because there is two types of QR.

In other Hand talking about UPI Intent Deeplink that is only automaticly genarated from payment Gateway with all reqired fields such as tid and so on. So that the PSP's APP require all the fileds including tid because that is clicked from URL or from Website or from the Mobile APP.

The UPI Intent Deeplink has only one type, So that PSP's APP require all fields to process Transection...

Note: you can't use UPI QR deeplink as UPI Intent deeplink but you can use the UPI Intent deeplink to genarate the UPI QR.(The chances of working this Note is 50 - 50%.).