android - Android UPI 支付意图总是失败
问题描述
这就是我想要做的。我的应用有两种类型的用户——买家和卖家。卖家可以提供他们的 UPI ID,买家可以使用其设备上安装的任何 UPI 应用程序使用提供的卖家 UPI ID 向卖家付款。
我正在构建一个 UPI 支付 URL,如下所示:
String upiPaymentUrl = upi://pay?pa=<<Seller VPA ID>>&pn=<<Payee name>>&tn=<<Txn description>>&cu=INR
然后,我使用以下代码显示手机上所有启用 UPI 的应用程序:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(upiPaymentUrl));
Intent chooser = Intent.createChooser(intent, getString(R.string.payment_title));
startActivityForResult(chooser, Constant.REQUEST_CODE_UPIPAYMENT, null);
选择的 UPI 应用程序已启动,并且我在 URI 中提供的所有数据都已正确填写。然后我开始付款,但付款总是失败。当我按原样使用 UPI 应用程序(没有从我的应用程序调用)并使用我用来构造 UPI URL 的相同值时,付款会顺利进行,不会出现任何错误。当我从我的应用程序调用 UPI 应用程序时,知道是什么导致付款失败吗?
任何帮助/建议将不胜感激!
解决方案
根据 NPCI 的新规则,所有 upi 应用都绑定了最小交易。
如果receiver upi id 注册为非商业upiid,则无法成功支付。
所以解决方案是创建新的业务 UPI id。
推荐阅读
- python - 发布图像并以 Node-red 显示在仪表板中
- javascript - 当标签集中时,滚动视图被复制
- python - 如何在所有订单中获取所有可能的字符串组合
- excel - Excel Sumproduct 使用多列条件错误地计算行数
- actions-on-google - 是否有针对 Transactions API 不可用的国家/地区启动 Google Actions 的解决方法
- java - 如何将查询结果映射到java中的字符串数组
- reactjs - 尝试在表中创建新条目时网络中的待处理状态
- bash - shell脚本中的while循环条件
- javascript - 如何共享延续的中间结果?
- python - Flask 和 Dash 应用程序之间的连接