我正在尝试创建一个商家应用,它会根据NPCI的指南生成网址。此网址将作为意图共享,PSP应用(任何已注册的银行应用)应该能够收听该网址并被调用。
我已经形成了这样的网址: -
UPI://支付PA = ICICI /名称&安培; PN = USER_NAME&安培; TID = 422d97c1-f0fc-4BEA-B24A-511ffa85e86f&安培; AM = 442.87&安培; TN =测试%交易
现在我发送的意图如下: -
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, UPI);
sendIntent.setType("text/plain");
startActivity(sendIntent);
Icici银行应用程序未显示在接收器应用程序中。我正确地创建了网址吗?
UPI最近刚刚发布,我无法通过互联网获得良好的资源。
注意 - 在网址中,tid(交易ID)是在我的应用中生成的随机uuid。
答案 0 :(得分:6)
找到正确的方法。 您需要以问题中提到的正确方式构建URL。之后,此URL必须转换为URI并作为数据发送到intent。
ColA, ColB, ColC, ColD, ColE
1A 1B 1C 1D 1E
2A 2B 2C 2D null
3A 3B 3C 3D 3E
4A 4B 4C 4D 4E
之后,在你的onActivityResult中,检查requestCode和id收到的意图数据是否为空。 如果没有,那么数据将包含stringExtra作为 响应 。 此响应将包含状态,事务引用,transactionId和响应代码。
此外,网址中的空格应替换为“+”而不是“%”。
答案 1 :(得分:0)
要使App显示为UPI意向接收器,它需要在其Manifest文件中注册此UPI uri,以便它可以侦听其他应用程序抛出的此类广播意图。 通过网络尝试这个,我能够调出“Phone Pe”应用程序来支付该特定应用程序。我在手机中安装了Bhim和Icici,但他们没有出现,默认情况下“Phone Pe”被提起,所以我假设他们没有注册UPI uri Intent。
编辑:Android App到应用程序我可以打开Phone Pe和BHIM,ICICI app我猜这个意图没有注册,所以它没有出现。