android – 使用UPI url调用PSP应用程序

我正在尝试创建一个商家应用程序,它将根据NPCI的指南生成一个URL.此网址将作为意图共享,PSP应用程序(任何已注册的银行应用程序)应该能够侦听该网址并被调用.

我已经形成了这样的网址: –

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

现在我发送这样的意图: –

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, UPI);
sendIntent.setType("text/plain");
startActivity(sendIntent);

Icici银行应用程序未显示在接收器应用程序中.我正确地创建了网址吗?

UPI最近刚刚发布,我无法通过互联网获得良好的资源.

注意 – 在url中,tid(事务id)是在我的应用程序中生成的随机uuid.

最佳答案
找到了正确的方法.
您需要以问题中提到的正确方式构建URL.之后,此URL必须转换为URI并作为数据发送到intent.

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

在那之后,在你的onActivityResult中,检查requestCode和id收到的意图数据是否为null.
如果没有,那么数据将包含stringExtra作为响应.
此响应将包含状态,事务引用,transactionId和响应代码.

此外,网址中的空格应替换为”而不是’%’.

转载注明原文:android – 使用UPI url调用PSP应用程序 - 代码日志