首页 > 解决方案 > Razorpay android SDK 集成问题

问题描述

order_id在结帐对象的 JSON 中使用时发生错误

我得到的错误是:06-23 14:08:44.132 E/PaymentActivity:166:提供的 ID 不存在

这进来了:

onPaymentError(code: Int, response: String?, data: PaymentData?) 

PaymentResultWithDataListener 方法

startPayment 方法是:

private fun startPayment(orderId: Long, paymentGateway: PaymentGateway) {
        val checkout = Checkout()
        checkout.setImage(R.drawable.lifcare_logo)
        checkout.setFullScreenDisable(true)
        try {
            val options = JSONObject()
            options.put("name", "Name")
            options.put("description", orderId.toString())
            options.put("currency", "INR")
            options.put("amount", paymentGateway.amount.times(100))
            options.put("order_id", paymentGateway.refTransactionId)

            val prefill = JSONObject()
            prefill.put("email", "EmailID")
            prefill.put("contact", "Number")
            prefill.put("method", paymentGateway.subMethod?.name)

            options.put("prefill", prefill)
            options.put("theme", JSONObject("{color: '#7cb342'}"))
            checkout.open(this, options)
        } catch (e: Exception) {
            Timber.e(e, "Cannot pay right now!!")
        }
    }

ref_transaction_id 是: "ref_transaction_id": "order_AQjijq5Fj4lg8m"

order_id不使用时,SDK 工作正常。order_id不知何故正在制造这个问题。

标签: androidkotlinpayment-gatewayrazorpay

解决方案


尝试在选项参数中添加注释键,如下所示:

jsonObject.put("order_id", "12345")
jsonObject.put("subscription_id", "50214")
jsonObject.put("user_id", "101")
options.put("notes", jsonObject)                 

推荐阅读