我使用本机代码进行upi深层链接。 当其他psp应用程序重定向到付款页面时,意图调用bhim应用程序付款详细信息页面时未显示 当我点击移动浏览器中的网址时,就像这样upi:// pay?pa = 98955012345 @ upi& pn = abc& am = 1它会打开BHIM应用程序并预先填写收款人详细信息。
但是,当我使用我的商家应用时,通过意图深层链接链接它,它会打开BHIM,但不会重定向到预先填充的页面。
答案 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);
}