duticotac_flutter 0.0.2 copy "duticotac_flutter: ^0.0.2" to clipboard
duticotac_flutter: ^0.0.2 copied to clipboard

Payment using Duticotac.

example/lib/main.dart

import 'package:duticotac_flutter/duticotac_flutter.dart';
import 'package:flutter/material.dart';
import 'package:flutter_dotenv/flutter_dotenv.dart';
// import 'package:duticotac_flutter/duticotac_flutter.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await dotenv.load(fileName: ".env");

  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
      ),
      home: const PaymentPage(),
    );
  }
}

class PaymentPage extends StatefulWidget {
  const PaymentPage({super.key});

  @override
  State<PaymentPage> createState() => _PaymentPageState();
}

class _PaymentPageState extends State<PaymentPage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text("Test Payment")),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[const Text('Let\'s make a payment')],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () async {
          await payWithDuticotac(
            context,
            apiKey: dotenv.env['API_KEY']!,
            amount: 100,
            productReference: 'starter',
            isInAppPurchase: true,
            productName: 'Starter',
            description: "Small Product description",
            email: "frediustcdev@gmail.com",
            name: "Duticotac App",
            title: "Test Payment",
            selectedProviders: [
              PaymentProvider.orangeMoneyCI,
              PaymentProvider.mtnCI,
              PaymentProvider.moovCI,
            ],
            initialPhoneNumber: PhoneNumber.parse('+2250708517414'),
          );
        },
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ),
    );
  }
}