返回导航在 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,通过它我也处理onSuccessonFailour 方法。

有人遇到过同样的问题吗?

【问题讨论】:

【参考方案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 支付网关

wordpress 中的 Razorpay 插件不起作用

如何在 Android Studio 中实现 razorpay 定期付款?

在支付网关之间维护钱包

如何在 Flutter 中使用 Razorpay 订单 API?

如何获取保存的卡详细信息razorpay android