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

标签 android payment-gateway payment upi

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

我已经形成了这样一个 url:-

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

现在我发送这样的 Intent :-

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 收到的 Intent 数据是否为空。 如果不是,则数据将包含一个 stringExtra 作为response。 此响应将包含状态、交易引用、transactionId 和响应代码。

此外,url 中的空格应替换为“+”而不是“%”。

关于android - 使用 UPI url 调用 PSP 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39384561/

相关文章:

php - 在基于 Laravel 的商店中实现支付网关

wordpress - WooCommerce:确认订单后付款

paypal - 如何在 D7 中向站点用户进行 Paypal 付款? (如何通过 Paypal 向网站用户汇款?)

android - 如何从普通java类中为不同的产品风格调用不同的方法

php - JSONException 索引超出范围 [0..1)

node.js - 如何从paypal账户转账到paypal账户?

ios - 有什么方法可以在 stripe 元素中预填充付款信息吗?

Android camera2加速

Android UP 按钮转到 mainActivity 而不是当前

payment-gateway - Braintree支持分期付款吗?