multi_payment_gateway 0.0.3 copy "multi_payment_gateway: ^0.0.3" to clipboard
multi_payment_gateway: ^0.0.3 copied to clipboard

PlatformAndroid

A Flutter package to simplify integrating multiple payment gateways like Paymob, PayPal, and Stripe.

example/main.dart

import 'package:flutter/material.dart';
import 'package:multi_payment_gateway/stripe_payment_kit.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  StripeSetup.setup(publishableKey: "PUBLISHABLE_KEY");
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatelessWidget {
  const MyHomePage({super.key, required this.title});

  final String title;

  Future<void> payWithStripe() async {
    var token = "SECRET_KEY";
    final SetupStripePayment intent = SetupStripePayment(token: token);
    await StripeService.instance.pay(setupPayment: intent);
  }

  Future<void> payWithPaymob(BuildContext context) async {
    final SetupPaymobPayment setupPayment = SetupPaymobPayment(
        context: context,
        frameId: "839579",
        integrationId: int.parse("INTEGRATION_ID"),
        apiKey: "PAYMOB_API_KEY");
    await PaymobPaymentService.instance.pay(setupPayment: setupPayment);
  }

  void payWithPaypal(BuildContext context) async {
    final paypalModel = SetupePaypalPayment(
      context: context,
      clientId: "PAYPAL_CLIENT_ID",
      secretKey: "PAYPAL_SECRET_KEY"
    );
    await PaypalService.instance.pay(setupPayment: paypalModel);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(title),
      ),
      body: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          IconButton(
              onPressed: () async {
                await payWithStripe();
              },
              icon: Icon(Icons.payment)),
          IconButton(
              onPressed: () {
                payWithPaypal(context);
              },
              icon: Icon(Icons.payment)),
          IconButton(
            onPressed: () async {
              await payWithPaymob(context);
            },
            icon: Icon(Icons.payment),
          )
        ],
      ),
    );
  }
}
18
likes
130
points
72
downloads

Publisher

unverified uploader

Weekly Downloads

A Flutter package to simplify integrating multiple payment gateways like Paymob, PayPal, and Stripe.

Documentation

API reference

License

MIT (license)

Dependencies

dartz, dio, flutter, flutter_paypal_payment, flutter_stripe, path, plugin_platform_interface, webview_flutter

More

Packages that depend on multi_payment_gateway