【问题标题】:class file for com.razorpay.PaymentResultListener not found未找到 com.razorpay.PaymentResultListener 的类文件
【发布时间】:2020-04-20 22:58:59
【问题描述】:

我正在我的 Android 项目中实现 Razorpay 支付集成。我在实现 onPaymentErroronPaymentSuccess 回调时遇到了一些错误。

我就是这样集成的,

build.gradle

implementation 'com.razorpay:checkout:1.5.12'

活动

class BuyNowActivity : AppCompatActivity, PaymentResultListener {

lateinit var dataBinding : ViewDataBinding

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    dataBinding = DataBindingUtil.setContentView(this, R.layout.activity_buynow)
    preloadCheckoutEssentials()
    dataBinding.loginButton.setOnClickListener {
        startPayment()
    }
}

private fun preloadCheckoutEssentials() {
    Checkout.preload(applicationContext);
}

fun startPayment() {

    val checkout = Checkout()

    //checkout.setImage(R.drawable.logo)

    val activity: Activity = this

    val options = JSONObject()

    options.put("name", "Merchant Name")

    options.put("description", "Reference No. #123456")
    options.put("order_id", "order_9A33XWu170gUtm")
    options.put("currency", "INR")

    options.put("amount", "500")

    try {
        checkout.open(activity, options)
    } catch (e: Exception) {
        Timber.e(TAG, "Error in starting Razorpay Checkout")
    }
}

override fun onPaymentError(code: Int, response: String?) {
    Toast.makeText(this, "$code, AND $response", Toast.LENGTH_LONG).show()
}

override fun onPaymentSuccess(razorpayPaymentID: String?) {
    Toast.makeText(this, razorpayPaymentID, Toast.LENGTH_LONG).show()
}

/*override fun onPaymentError(code: Int, response: String?, p2: PaymentData?) {
    Toast.makeText(this, "$code, AND $response", Toast.LENGTH_LONG).show()
}

override fun onPaymentSuccess(razorpayPaymentID: String?, p1: PaymentData?) {
    Toast.makeText(this, razorpayPaymentID, Toast.LENGTH_LONG).show()
}*/

}

AndroidManifest

<meta-data
        android:name="com.razorpay.ApiKey"
        android:value="APIKeyHere" />

现在写完所有这些代码后,每当我尝试构建项目时,构建都会失败并出现以下异常,

class file for com.razorpay.PaymentResultListener not found
Consult the following stack trace for details.
com.sun.tools.javac.code.Symbol$CompletionFailure: class file for 
com.razorpay.PaymentResultListener not found

有没有人可以帮助我解决这个问题?谢谢是提前。

【问题讨论】:

  • 添加mavenCentral() ?
  • @IntelliJAmiya 即使添加了 mavenCentral(),我仍然遇到同样的问题。

标签: android payment-gateway razorpay


【解决方案1】:

如果您制作了一个多模块项目,并且您的 paymentgateway 模块是独立的,那么

替换

implementation 'com.razorpay:checkout:1.5.12'

api 'com.razorpay:checkout:1.5.12'

【讨论】:

    猜你喜欢
    • 2018-11-10
    • 2016-10-30
    • 2018-06-10
    • 1970-01-01
    • 2016-03-23
    • 2018-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多