【问题标题】:RazorPay Android: stuck in RazorPay view when callback_url is usedRazorPay Android:使用 callback_url 时卡在 RazorPay 视图中
【发布时间】:2020-09-28 18:25:41
【问题描述】:

我正在实施 RazorPay Android 标准 SDK 用于订单和付款。

以下是支付代码:

private fun startPayment(razorPayId: String, paymentOrderId: String, totalPrice: String) {
    val co = Checkout()
    co.setKeyID(razorPayId)

    try {
        val options = JSONObject()
        options.put("name", "Payment")
        options.put("description", "")
        options.put("order_id", paymentOrderId)
        options.put("currency", "INR")
        options.put("amount", totalPrice)
        options.put("callback_url", "${ApiConstant.BASE_URL}orders/payment")

        val preFill = JSONObject()
        preFill.put("email", getEmail())
        preFill.put("contact", getPhoneNumber())

        options.put("prefill", preFill)

        val theme = JSONObject()
        theme.put("hide_topbar", false)

        options.put("theme", theme)
        co.open(this, options)
    } catch (e: Exception) {
        Toast.makeText(this, "Error in payment: " + e.message, Toast.LENGTH_LONG).show()
        e.printStackTrace()
    }
}

我已使用 callback_url 来保护我的付款。问题是当我在测试模式下使用它时,我卡在 RazorPay 的成功页面上,我无法在我的应用程序中进行成功回调。

在给定的屏幕截图中,消息{"payment": "success"} 是我的callback_url 的响应。 如果我在此页面上按回,屏幕截图中会显示两个选项。

我做错了吗?谁能帮我解决这个问题?

提前谢谢你。

【问题讨论】:

    标签: android kotlin razorpay


    【解决方案1】:

    好的,所以最后我得到了 RazorPay 支持的回复,说 Android 标准 SDK 没有 callback_url 这样的东西。

    【讨论】:

    • 我遇到了同样的问题,谢谢,但是您如何验证付款签名?
    • 您需要使用 Order API 并且需要在结帐选项中传递生成的 Order Id。如果一切顺利,然后使用 PaymentResultWithDataListener 方法,您应该获得所有三个参数:razorPayPaymentId、ordered、signature。
    • 这一切都正确,但文档还包括我们自己后端的签名验证。在官方文档razorpay.com/docs/assets/images/orders_workflow.png 的信息图表中
    • 是的。您可以从前端传递数据并在后端使用您的密钥进行验证
    猜你喜欢
    • 2021-02-24
    • 2019-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-16
    • 2018-12-03
    • 2019-12-19
    • 2019-04-09
    相关资源
    最近更新 更多