android - 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
不知何故正在制造这个问题。
解决方案
尝试在选项参数中添加注释键,如下所示:
jsonObject.put("order_id", "12345")
jsonObject.put("subscription_id", "50214")
jsonObject.put("user_id", "101")
options.put("notes", jsonObject)
推荐阅读
- java - 为什么在通过 OSHI API 从传感器检索信息时会发生这种情况?
- typescript - 如何在 VS Code 上使用 typescript 调试feathersjs?
- reactjs - React 钩子更新多个状态变量
- mysql - SQLSTATE[HY000] [1045] 用户 'qualitym_yaseen'@'localhost' 的访问被拒绝(使用密码:YES)
- angular - 如何获取 mat-table 的当前元素并放入代码的另一部分?
- python - 如何检查参数是否传递给函数?
- angular - TypeScript 构造函数重载无法识别类型
- javascript - 未处理的承诺拒绝警告
- xamarin.forms - Xamarin DatePicker 如何显示星期几?
- excel - 匹配参考数据中的 3+ 列