Я использую RazorPay Android Standard 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. Если я снова вернусь на эту страницу, на снимке экрана отобразятся два варианта.
Я делаю что-то неправильно? Кто-нибудь может мне с этим помочь?
Заранее спасибо.