返回导航在 Razorpay 支付网关的钱包中不起作用
Posted
技术标签:
【中文标题】返回导航在 Razorpay 支付网关的钱包中不起作用【英文标题】:Return navigation is not working in wallets for Razorpay payment gateway 【发布时间】:2021-12-19 06:36:57 【问题描述】:我使用 RazorPay android SDK 作为我产品的支付网关。我已经实现了他们所描述的正确代码,该代码在实时模式下可以正常工作以进行卡支付。但是对于像 PhonePe 和 GPay 这样的钱包来说,问题就来了。
问题是当用户选择任何钱包时,它会以适当的金额导航钱包。然后,用户可以从 RazorPay 仪表板中填充的钱包支付金额。但是在从钱包中支付金额后,流程会自动导航到我的应用程序的支付页面,在该页面我实施了 RazorPay onSuccess 和 onFailour 方法,而不是支付流程留在钱包本身,所以我无法使用付款详情,也无法更新付款界面。
我在下面添加了我为付款实施的代码。
chackout = new Checkout();
chackout.setKeyID(razorpayKey);
try
JSONObject options = new JSONObject();
options.put("name", "Company");
options.put("description", "Advance for "+mBookings.getPartyName());
options.put("currency", "INR");
options.put("amount", finalAdvAmount);
options.put("send_sms_hash",true);
JSONObject preFill = new JSONObject();
preFill.put("email", ud.getUserMailId());
preFill.put("contact", mBookings.getBookingPersonPhoneNumber());
options.put("prefill", preFill);
chackout.open(this, options);
catch (Exception e)
AppUtils.showSnackBar(this, "There is some issues when starting payment. Please try
after sometimes");
我还实现了PaymentResultWithDataListener
,通过它我也处理onSuccess
和onFailour
方法。
有人遇到过同样的问题吗?
【问题讨论】:
【参考方案1】:您提供的代码无关紧要;回调监听器是最重要的。在Activity
(您也没有提供)中注册这些回调时,当前显示哪个Fragment
并不重要。您只需要在该Activity
中处理NavController
- 以便它可以在回调时导航。最终,您需要检查正在显示哪个Fragment
- 然后只需触发相应的NavAction
- 因为并非每个NavAction
都不适用于每个Fragment
(除非是全局的)。
【讨论】:
【参考方案2】:经过长时间的努力,我得到了运行良好的答案。要使用任何钱包,例如 phonePe 或 GPay,我们需要在清单中使用 <queries>
并使用适当的导航意图。
如下所示:
<queries>
<!--google pay-->
<package android:name="com.google.android.apps.nbu.paisa.user"/>
<!--phonePe-->
<package android:name="com.phonepe.app"/>
<intent>
<action android:name="android.intent.action.SEND"/>
</intent>
<intent>
<action android:name="com.google.android.youtube.api.service.START" />
</intent>
</queries>
【讨论】:
以上是关于返回导航在 Razorpay 支付网关的钱包中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何在 codeigniter 中集成 razorpay 支付网关
如何在 Android Studio 中实现 razorpay 定期付款?