Flutter Web集成Razorpay遇MissingPluginException问题求助
Flutter Web集成Razorpay遇MissingPluginException的解决方法
这个错误的核心原因是razorpay_flutter包本身不支持Web端,你之前的操作(重启、proguard配置)都是针对Android移动端的,对Web环境无效。按以下步骤排查:
替换为Web专属依赖
保留移动端的razorpay_flutter(如果需要兼容移动端),同时添加Web端专用的razorpay_web依赖到pubspec.yaml:dependencies: razorpay_flutter: ^1.3.4 razorpay_web: ^1.4.2适配Web端初始化逻辑
Web端不能直接使用移动端的Razorpay实例,要切换为RazorpayWeb,并通过平台判断隔离移动端逻辑:import 'package:flutter/foundation.dart' show kIsWeb; import 'package:razorpay_web/razorpay_web.dart'; void initPayment() { if (kIsWeb) { final razorpay = RazorpayWeb(); // 绑定支付回调事件 razorpay.on(Razorpay.EVENT_PAYMENT_SUCCESS, _onPaymentSuccess); razorpay.on(Razorpay.EVENT_PAYMENT_ERROR, _onPaymentError); } else { // 移动端原有的razorpay_flutter初始化逻辑 } }添加Web端JS脚本
在web/index.html的<head>标签内引入Razorpay官方JS SDK:<script src="https://checkout.razorpay.com/v1/checkout.js"></script>清理缓存并重新构建
执行以下命令彻底重建项目,避免缓存干扰:flutter clean flutter pub get flutter run -d chrome --release移除Web端无效调用
检查代码中是否在Web环境下调用了移动端专属方法(比如你报错的resync),这类方法Web端没有实现,必须用kIsWeb做判断隔离。
无需重新创建项目,按上述步骤调整依赖和代码逻辑,即可解决MissingPluginException问题。
内容的提问来源于stack exchange,提问作者Ram Kashyap
相关产品推荐
相关产品推荐

