我已经使用 intent 从我的 android native 应用程序深度链接了 UPI 应用程序。我已经使用 BHIM、PhonePe、AXIS、UnionBank、Pockets 等各种 UPI 应用程序对此进行了测试。
我创建了推送支付 URI。我能够启动各种 UPI 应用程序。但是行为非常不一致。
"upi://pay?pa=xxxxx@upi&pn=payee&am=5.00&tn=Test_Transaction"
任何人 - 有什么意见吗?为什么会出现这种不一致的行为?
令人惊讶的是深度链接无法与 BHIM 应用程序一起使用。
如果有人想尝试,我可以分享 android 代码。
最佳答案
它也确实适用于 BHIM 应用程序。使用此代码,它对每个支持 PSP 的应用程序都非常有用。
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(" ", "+");
}
然后在方法中传递参数,将字符串传递给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);
}
关于android - UPI App Deep linking using Intent - 不一致和错误的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44985944/