Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
RazorPay Android:在使用回调url时卡在RazorPay视图中_Android_Kotlin_Razorpay - Fatal编程技术网

RazorPay Android:在使用回调url时卡在RazorPay视图中

RazorPay Android:在使用回调url时卡在RazorPay视图中,android,kotlin,razorpay,Android,Kotlin,Razorpay,我正在实施RazorPay Android标准SDK,用于订购和支付目的 以下是付款代码: private fun startPayment(razorPayId: String, paymentOrderId: String, totalPrice: String) { val co = Checkout() co.setKeyID(razorPayId) try { val options = JSONObject() options

我正在实施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\u url来确保我的付款。问题是,当我在测试模式下使用它时,我被困在RazorPay的成功页面上,无法在我的应用程序中进行成功回调

在给定的屏幕截图中,消息
{“payment”:“success”}
是来自我的回调url的响应。 如果我按下此页上的后退键,屏幕截图中将显示两个选项

我做错什么了吗?有人能帮我吗


提前谢谢。

好的,所以最后我得到RazorPay支持部门的回复,Android Standard SDK没有回调url。

我也面临同样的问题,谢谢,但您如何验证付款签名?您需要用户订单API,并且需要在签出选项中传递生成的订单Id。如果一切顺利,那么使用PaymentResultWithDataListener方法,您应该获得所有三个参数:RazorPaymentId、ordered、signature。这都是正确的,但文档还包括我们自己后端的签名验证。这里是官方文件中的信息图表是的。您可以从前端传递数据,并在后端使用密钥进行验证