hyper_webview_flutter 0.0.5 copy "hyper_webview_flutter: ^0.0.5" to clipboard
hyper_webview_flutter: ^0.0.5 copied to clipboard

Flutter Library to enhance Juspay's Hyper Checkout Experience for Payment Links opened in WebView.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:hyper_webview_flutter/hyper_webview_flutter.dart';
import 'package:webview_flutter/webview_flutter.dart';
import 'package:webview_flutter_wkwebview/webview_flutter_wkwebview.dart';

void main() {
  String url = "https://picasso.juspay.in/devtools/web/index.html";
  runApp(WebviewPaymentPage(
    url: url,
  ));
}

class WebviewPaymentPage extends StatefulWidget {
  final String url;
  late final HyperWebviewFlutter _hyperWebviewFlutterPlugin;

  WebviewPaymentPage({super.key, required this.url});

  @override
  State<WebviewPaymentPage> createState() => _WebviewPaymentPageState();
}

class _WebviewPaymentPageState extends State<WebviewPaymentPage> {
  late WebViewController _controller;
  @override
  void initState() {
    var url = Uri.parse(widget.url);

    // Uncomment below snippet to debug webview
    late final PlatformWebViewControllerCreationParams params;
    if (WebViewPlatform.instance is WebKitWebViewPlatform) {
      params = WebKitWebViewControllerCreationParams();
    } else {
      params = const PlatformWebViewControllerCreationParams();
    }
    _controller = WebViewController.fromPlatformCreationParams(params)
      ..setJavaScriptMode(JavaScriptMode.unrestricted)
      ..loadRequest(url);
    if (_controller.platform is WebKitWebViewController) {
      (_controller.platform as WebKitWebViewController).setInspectable(true);
    }

    widget._hyperWebviewFlutterPlugin = HyperWebviewFlutter();
    widget._hyperWebviewFlutterPlugin.attach(_controller);
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    SystemChrome.setEnabledSystemUIMode(SystemUiMode.manual,
        overlays: [SystemUiOverlay.bottom]);

    return MaterialApp(
      title: 'Flutter PaymentPage',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        body: SafeArea(
          child: WebViewWidget(controller: _controller),
        ),
      ),
    );
  }
}
1
likes
160
points
3.21k
downloads

Publisher

verified publisherapp-dev.juspay.in

Weekly Downloads

Flutter Library to enhance Juspay's Hyper Checkout Experience for Payment Links opened in WebView.

Homepage
Repository (GitHub)
View/report issues

Documentation

API reference

License

AGPL-3.0 (license)

Dependencies

flutter, webview_flutter

More

Packages that depend on hyper_webview_flutter