flutter - MissingPluginException(未找到通道 razorpay_flutter 上打开的方法的实现)
问题描述
Reloaded 7 of 542 libraries in 1,099ms.
E/flutter ( 1062): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: MissingPluginException(No implementation found for method open on channel razorpay_flutter)
[38;5;244mE/flutter ( 1062): #0 MethodChannel.invokeMethod[39;49m
E/flutter ( 1062): <asynchronous suspension>
[38;5;248mE/flutter ( 1062): #1 Razorpay.open (package:razorpay_flutter/razorpay_flutter.dart:48:35)[39;49m
[38;5;248mE/flutter ( 1062): #2 _BuyBidsState.openCheckout[39;49m
[38;5;248mE/flutter ( 1062): #3 _BuyBidsState.getBidsData.<anonymous closure>[39;49m
[38;5;244mE/flutter ( 1062): #4 _InkResponseState._handleTap[39;49m
[38;5;244mE/flutter ( 1062): #5 _InkResponseState.build.<anonymous closure>[39;49m
[38;5;244mE/flutter ( 1062): #6 GestureRecognizer.invokeCallback[39;49m
[38;5;244mE/flutter ( 1062): #7 TapGestureRecognizer.handleTapUp[39;49m
[38;5;244mE/flutter ( 1062): #8 BaseTapGestureRecognizer._checkUp[39;49m
[38;5;244mE/flutter ( 1062): #9 BaseTapGestureRecognizer.acceptGesture[39;49m
[38;5;244mE/flutter ( 1062): #10 GestureArenaManager.sweep[39;49m
[38;5;244mE/flutter ( 1062): #11 GestureBinding.handleEvent[39;49m
[38;5;244mE/flutter ( 1062): #12 GestureBinding.dispatchEvent[39;49m
[38;5;244mE/flutter ( 1062): #13 GestureBinding._handlePointerEvent[39;49m
[38;5;244mE/flutter ( 1062): #14 GestureBinding._flushPointerEventQueue[39;49m
[38;5;244mE/flutter ( 1062): #15 GestureBinding._handlePointerDataPacket[39;49m
[38;5;244mE/flutter ( 1062): #16 _rootRunUnary (dart:async/zone.dart:1138:13)[39;49m
[38;5;244mE/flutter ( 1062): #17 _CustomZone.runUnary (dart:async/zone.dart:1031:19) [39;49m
[38;5;244mE/flutter ( 1062): #18 _CustomZone.runUnaryGuarded (dart:async/zone.dart:933:7)[39;49m
[38;5;244mE/flutter ( 1062): #19 _invoke1 (dart:ui/hooks.dart:273:10)[39;49m
[38;5;244mE/flutter ( 1062): #20 _dispatchPointerDataPacket (dart:ui/hooks.dart:182:5)[39;49m
E/flutter ( 1062):
在将 razorpay 与颤振集成时出现此错误。我是否正确编写了代码。
@override
void initState() {
super.initState();
_razorpay = Razorpay();
_razorpay.on(Razorpay.EVENT_PAYMENT_SUCCESS, _handlePaymentSuccess);
_razorpay.on(Razorpay.EVENT_PAYMENT_ERROR, _handlePaymentError);
_razorpay.on(Razorpay.EVENT_EXTERNAL_WALLET, _handleExternalWallet);
}
@override
void dispose() {
super.dispose();
_razorpay.clear();
}
void openCheckout() async {
var options = {
'key': 'rzp_test_geinuADCB6Csdb',
'amount': 10*100,
'name': 'BidAnd2Win',
'description': 'Buying Bid to play game',
'prefill': {'contact': '8888888888', 'email': 'test@razorpay.com'},
'external': {
'wallets' : ['paytm'],
}
};
try{
_razorpay.open(options);
}
catch(e) {
debugPrint(e);
}
}
void _handlePaymentSuccess(PaymentSuccessResponse response) {
Fluttertoast.showToast(msg: 'Success' + response.paymentId);
}
void _handlePaymentError(PaymentFailureResponse response) {
Fluttertoast.showToast(msg: 'Failure' + response.code.toString() + " - " + response.message);
}
void _handleExternalWallet(ExternalWalletResponse response) {
Fluttertoast.showToast(msg: 'Sucess Wallet payment' + response.walletName);
}
起初,当为所有这三种方法调用 initState() 时出现错误 [错误:flutter/lib/ui/ui_dart_state.cc(157)] 未处理的异常:MissingPluginException(未找到通道 razorpay_flutter 上打开的方法的实现)
然后是第二种方法
[错误:flutter/lib/ui/ui_dart_state.cc(157)] 未处理的异常:MissingPluginException(未找到通道 razorpay_flutter 上的方法重新同步的实现)
对于第三种方法
[错误:flutter/lib/ui/ui_dart_state.cc(157)] 未处理的异常:MissingPluginException(未找到通道 razorpay_flutter 上的方法重新同步的实现)
我还正确添加了我的 razorpay_flutter,但是当我单击按钮并调用方法 openCheckout() 时,会发生 missingPluginException。如何修复这个未处理的异常错误,我已经在 try 和 catch 块中调用了 _razorpay.open(options)
解决方案
颤抖干净,然后重新启动,然后就可以了
我在以下位置找到它:在此处输入链接描述,它对我来说效果很好。
推荐阅读
- angular - Angular router.navigate 不适用于 tabulator.info js 中的单元格单击
- html - 使用 Flex 拆分导航项
- django - Django ERR_BLOCKED_BY_XSS_AUDITOR
- python - Python while loop number guessing game with limited guesses
- react-native - 在 React Native 上集成 App.js 中的 redux mapStateToProps
- javascript - 脚本有效但有错误:未捕获的类型错误:无法在 HTMLAnchorElement 处读取 null 的属性“classList”
- amazon-web-services - 如何以编程方式创建 s3 存储桶和对象(如上传 shell 脚本文件)
- entity-framework - 尽管我在第二次尝试中提供了不同的值,但实体框架 DbSet.Add(entity) 生成了相同的插入语句
- laravel - Laravel 的验证没有向我显示视图中的错误
- java - android studio java app可以成为xamarin android app的更新版本吗?