You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 20:59:51