Android应用程序集成的UPI深层链接问题

时间:2017-09-01 07:34:33

标签: android cordova cordova-plugins deep-linking upi

我使用本机代码进行upi深层链接。 当其他psp应用程序重定向到付款页面时,意图调用bhim应用程序付款详细信息页面时未显示 当我点击移动浏览器中的网址时,就像这样upi:// pay?pa = 98955012345 @ upi& pn = abc& am = 1它会打开BHIM应用程序并预​​先填写收款人详细信息。

但是,当我使用我的商家应用时,通过意图深层链接链接它,它会打开BHIM,但不会重定向到预先填充的页面。

1 个答案:

答案 0 :(得分:2)

它也适用于BHIM应用程序。使用此代码,它就像每个支持PSP的应用程序的魅力一样。

  

注意:而不是使用"%"更好地使用" +"从URL中替换空格。这更好。

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(" ", "+");

}

然后传递方法中的参数并以这种方式将字符串传递给Intent:

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);
        }