36

I am building an android application which I thought should have a best payment system that should free user from entering details. I have gone though UPI but no idea how to integrate this.

be_good_do_good
  • 3,615
  • 3
  • 25
  • 37
LuminiousAndroid
  • 1,497
  • 3
  • 17
  • 27
  • Please share your code with us. – TechnicalKalsa Sep 01 '16 at 11:40
  • @Singh I have the concept which I read somewhere on news channel. I am asking for integration. check this "https://www.quora.com/How-can-I-download-UPI-App-Unified-payment-Interface-launched-by-RBI-and-National-Payment-Corporation-of-India" – LuminiousAndroid Sep 01 '16 at 11:42
  • Right now UPI is not launched in market. So wait for android sdk. – TechnicalKalsa Sep 01 '16 at 11:45
  • @Singh : There won't be any android sdk for merchant app integration , we need to transfer payment request to banks app by deeplinking. I have added links to some documents below. In upi's website it's difficult to find these documents and they are not well documented. – Deepak John Sep 06 '16 at 11:35
  • I m also working with to integrate the yes bank upi integration . When im calling the pay activity class , im getting error " Sorry network is not available" – gStephin Oct 10 '16 at 05:24
  • george its the error in yes bank sdk, so wait for update. – Manoj Tarkar Nov 18 '16 at 07:04
  • 1
    @LuminiousAndroid, You need to cantact PSP(Banks), they will provide you sdk,right now only android sdk is availble in market. – Manoj Tarkar Nov 18 '16 at 07:06
  • Is there any cost involved , I have heard it to make free to promote digitization – Yatin Feb 01 '17 at 12:14

6 Answers6

18

To integrate UPI SDK in you android app you have to partner with a bank which is offering this service. Only UPI enabled banks are allowed to act as PSP (Payment service Provider). Some banks which are offering this service are: Yes Bank, RBL, ICICI Bank, Axis Bank.

Once you have the SDK it's pretty much Plug n Play and will hardly require a day's work. Although the bank that is offering you the SDK will review the developed app to see if it matches their security standards.

Karan Thakkar
  • 949
  • 4
  • 20
  • 41
Isj
  • 1,856
  • 1
  • 9
  • 20
  • Any links about this on bank sites?? I am unable to get any details – rakesh kashyap Dec 17 '16 at 16:19
  • You have to find and contact/email the concerned people of the respective banks. – Isj Dec 18 '16 at 16:43
  • My Company has just signed with Axis Bank for the UPI services. Soon we will receive the SDK. Will you help me out if I come across any issues with integrating it. – Deepak J Oct 17 '19 at 12:28
10

It's difficult to find well documented files about how to implement the UPI integration on UPI's website, but below I am mentioning some of the links which you can refer to. Cross refer all documents, one document alone won't help:

https://digidhan.mygov.in/pages/pdf/sbi/NPCI%20Unified%20Payment%20Interface.pdf

Deepak John
  • 919
  • 1
  • 6
  • 19
6

I am assuming you aren't asking to become a PSP by yourself as that would require a lot more than just integration(you'll have to be listed under RBI to become a PSP, etc.)

But your problem can be solved by becoming a merchant which will use a PSP in the user's mobile phone. Basically, you will create a URI and will send that as an intent. The PSP apps are given the guidelines to listen to the specific URI and hence, you can invoke the desired PSP app from the list(if you have many PSP apps installed).

The URI will contain the required information. The PSP app can get the details from the URI and the user can just confirm for the payment. The response is being sent to the calling app with the transaction Id and some info. You can use that to carry on with your app's flow.

You can create the URI in the following way:

upi://pay?pa=icici/name&pn=USER_NAME&tid=422d97c1-f0fc-4bea-b24a-511ffa85e86f&am=442.87&tn=Test%transaction

and the intent can be created like:

Intent intent = new Intent();
intent.setData(Uri.parse(UPI));
Intent chooser = Intent.createChooser(intent, "Pay with...");
startActivityForResult(chooser, 1, null);

Listen to the PSP response in the onActivityResult method of your activity.

deep
  • 1,232
  • 1
  • 14
  • 26
5

You can't integrate, unless you are bank, I am also investigating how to integrate UPI - API in app, but unfortunately as of now its restricted to developers, only bank can develop this app using NPCI lib.

Documentation :

- Common library Specifications for Unified Payment Interface

- UNIFIED PAYMENTS INTERFACE Procedural Guidelines

- UNIFIED PAYMENT INTERFACE API and Technology Specifications

Yogesh Rathi
  • 5,684
  • 4
  • 42
  • 71
4

Razorpay and few other merchants have tied up with banks and provide this service to end developers like us. You can read more about Razorpay's offering here:

https://razorpay.com/upi/

Yash Agarwal
  • 775
  • 10
  • 28
0

Even I was looking into this integration but for PHP, you can have a look into the below open source project written by Ragunath Jawahar for android

https://github.com/ragunathjawahar/upi-dropin

And see if it could help you out with

  • It's best if you could give more details on why this would help, more specifically the features involved. – Fabien Jul 15 '17 at 05:37