I have deeplinked UPI apps from my android native app using intent. I have tested this with various UPI apps like BHIM, PhonePe, AXIS, UnionBank, Pockets etc.
I created push payment URI. I am able to launch various UPI apps. However behaviour is quite inconsistent.
"upi://pay?pa=xxxxx@upi&pn=payee&am=5.00&tn=Test_Transaction"
Anyone - any comments? Why such inconsistent bahaviour?
Surprising is deeplinking not working with BHIM app.
I can share android code if someone want want to try.
It really works for the BHIM application also. Use this Code it works like a charm for every PSP enabled applications.
Note: Instead of using the "%" better to use "+" to replace the white space from the URL. That works better.
private String getUPIString(String payeeAddress, String payeeName, String payeeMCC, String trxnID, String trxnRefId,
                            String trxnNote, String payeeAmount, String currencyCode, String refUrl) {
    String UPI = "upi://pay?pa=" + payeeAddress + "&pn=" + payeeName
            + "&mc=" + payeeMCC + "&tid=" + trxnID + "&tr=" + trxnRefId
            + "&tn=" + trxnNote + "&am=" + payeeAmount + "&cu=" + currencyCode
            + "&refUrl=" + refUrl;
    return UPI.replace(" ", "+");
}
Then pass the parameters in the method and pass the string to the Intent in this way:
Intent intent = new Intent();
            intent.setAction(Intent.ACTION_VIEW);
            intent.setData(Uri.parse(UPI));
            Intent chooser = Intent.createChooser(intent, "Pay with...");
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
                startActivityForResult(chooser, 1, null);
            }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With