Я использую плагин razorpay_flutter (версия 1.3.7) в своем приложении Flutter (SDK версии 3.10.0). Я столкнулся с проблемой, из-за которой после инициирования платежа приложение неожиданно перезагружается на определенном устройстве Android 12. Платеж обрабатывается, деньги снимаются, но ответ об успехе или сбое не возвращается, и приложение перезапускается из основной функции. Эта проблема возникает только на определенном устройстве Android 12, в то время как другие устройства успешно обрабатывают транзакцию.
Вот код, который я использую, чтобы открыть платежный интерфейс Razorpay :
Код: Выделить всё
_razorpay = Razorpay();
var options = {
'key': AppSettings.appInfo!.razorpayMerchantId,
'amount': (AppSettings.appInfo!.razorPayAmountTestOneRupee == true || true)
? 100
: widget.totalAmount == null || widget.totalAmount! < 1
? 100
: "${widget.totalAmount}00",
'name': AppSettings.appInfo!.organizationName,
'description': '${AppSettings.appInfo!.organizationName} Premium Services',
'order_id': "${data["DETAILS"]["id"]}",
'prefill': {
'contact': AppSettings.appInfo!.userMobileNumber,
'email': controllerEmail.text.isEmpty
? 'abc@gmail.com'
: (controllerEmail.text).contains(".com")
? controllerEmail.text
: "${controllerEmail.text}.com",
}
};
try {
_razorpay!.open(options);
} catch (e) {
AppSettings.displayLongErrorToast("razorpay exception ${e}");
debugPrint(e.toString());
}
Код: Выделить всё
void _handlePaymentSuccess(PaymentSuccessResponse response) async {
// Handling success
}
void _handlePaymentError(PaymentFailureResponse response) async {
// Handling error
}
void _handleExternalWallet(ExternalWalletResponse response) {
// Handling external wallet
}
Журналы ошибок:
Код: Выделить всё
E/com.razorpay.checkout(6047): Webview JS Error: Uncaught ReferenceError: upiIntentResponse is not defined I/chromium(6047): [INFO:CONSOLE(1)] "Uncaught ReferenceError: upiIntentResponse is not defined"1. Приложение перезапускается и загружается. основная функция.
2.Эта проблема возникает только на определенном устройстве Android 12 (narzo 50A).
3.Тот же код отлично работает на других устройствах.
Что я пробовал:
1. Я проверил правильность интеграции Razorpay и обрабатываю обратные вызовы должным образом.
/>2.Отладка не показывает никаких дополнительных ошибок или журналов, кроме ошибки WebView JS.
Есть предложения о том, как решить эту проблему или почему она может возникать только на одном устройстве?
Подробнее здесь: https://stackoverflow.com/questions/790 ... 2narzo-50a