使用UPI url调用PSP应用程序

时间:2016-09-08 07:07:22

标签: android payment-gateway payment upi

我正在尝试创建一个商家应用,它会根据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。

2 个答案:

答案 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我猜这个意图没有注册,所以它没有出现。