kudaopenapi 0.1.7 copy "kudaopenapi: ^0.1.7" to clipboard
kudaopenapi: ^0.1.7 copied to clipboard

A Flutter library for seamless integration with the Kuda Bank API, simplifying fintech app development.

KudaOpenAPI Integration in Flutter

KudaOpenAPI for flutter for seemless banking via Kudaopenapi.


Getting Started   |   Installation   |   Usage   |   License   |   Author


🎯 Getting Started #

Enable your product for local transactions with the KudaOpenAPI! With the KUDA Open APIs you can embed services unto your platform and connect your customers to a wide range of banking services.

Before you proceed, ensure you have a Kuda Business account!. You can link this account to your profile to get approved for live.

Get your token from the Developer Dashboard!.

🎯 Installation #

To use this plugin, add kudaopenapi as a dependency in your pubspec.yaml file.

Then initialize the plugin preferably in the initState of your widget.

import 'package:kudaopenapi/kudaopenapi.dart';

class _MyHomePageState extends State<MyHomePage> {
	var baseurl = 'TEST_OR_LIVE_URL';
	var email = 'EMAIL';
	var apikey = 'APIKEY';
	@override
	void initState() {
		ApiService.initialize(baseurl, email, apikey);
		super.initState();
	}
}

No other configuration required—the plugin works out of the box.

✨ Usage #

Make Request to the API using this

String trackingReference = Random().nextInt(100000).toString();

Map<String, dynamic> data = {
  'ClientAccountNumber': "00000000000",
  'beneficiarybankCode': "000014",
  'beneficiaryAccount': "000000000000",
  'beneficiaryName': "GIFT IWOKURA BALOGUN",
  'amount': "5000",
  'narration': "Payment Flutter",
  'nameEnquirySessionID': "00000000000000000",
  'trackingReference': Random().nextInt(100000).toString(),
  'senderName': "Gift Balogun",
}; //Format for sending data through

String requestRef = Random().nextInt(100000).toString();

To get the list of banks with the kudaopenapi

import 'package:kudaopenapi/kudaopenapi.dart';

@override
  Widget build(BuildContext context) {
  return MaterialApp(
    home: Scaffold(
        appBar: AppBar(title: const Text("Kuda Get Bank API")),
        body: FutureBuilder<BankResponse>(
          future: KudaBank().getBankList(requestRef),
          builder: (context, snapshot) {
            if (snapshot.hasData) {
              return ListView.builder(
                itemCount: snapshot.data!.data!.banks.length,
                itemBuilder: (context, index) {
                  return ListTile(
                    leading: const Icon(Icons.list),
                    trailing: Text(
                      snapshot.data!.data!.banks[index].bankCode.toString(),
                      style: TextStyle(color: Colors.green, fontSize: 15),
                    ),
                    title: Text(
                      snapshot.data!.data!.banks[index].bankName.toString(),
                    ),
                  );
                },
              );
            } else if (snapshot.hasError) {
              return Text(snapshot.error.toString());
            }
            return CircularProgressIndicator();
          },
        )
      ),
  );
}

To get the details of an account

import 'package:kudaopenapi/kudaopenapi.dart';

class _MyHomePageState extends State<MyHomePage> {
  var baseurl = '';
  var email = '';
  var apikey = '';

  @override
  void initState() {
    ApiService.initialize(baseurl, email, apikey);
    super.initState();
  }

  String trackingReference = Random().nextInt(100000).toString();

  // Set the request data
  Map<String, dynamic> data = {
    'beneficiaryAccountNumber': '1413800836',
    'beneficiaryBankCode': '000014',
    'SenderTrackingReference': '',
    'isRequestFromVirtualAccount': true,
  };

  String requestRef = Random().nextInt(100000).toString();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text("Kuda Name Inquiry API")),
      body: Center(
        child: FutureBuilder(
          future: KudaBank().name_inquiry(data, requestRef),
          builder: (BuildContext context, AsyncSnapshot snapshot) {
            if (snapshot.connectionState == ConnectionState.done) {
              if (snapshot.hasError) {
                return Text('Error: ${snapshot.error}');
              } else {
                var something = snapshot.data.data!;
                return Text('sessionID: ${something.nameInquiry!.sessionID}');
              }
            } else {
              return CircularProgressIndicator();
            }
          },
        ),
      ),
    );
  }
}

To get retrieve virtual account details with the kudaopenapi

import 'package:kudaopenapi/kudaopenapi.dart';

@override
Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(title: const Text("KudaOpenApi-Retrieve")),
        body: Center(
          child: Column(mainAxisAlignment: MainAxisAlignment.spaceEvenly, children: [
            FutureBuilder(
              future: KudaBank().retrieve_virtual_account(data, requestRef),
              builder: (BuildContext context, AsyncSnapshot snapshot) {
                if (snapshot.connectionState == ConnectionState.done) {
                  if (snapshot.hasError) {
                    return Text('Error: ${snapshot.error}');
                  } else {
                    var something = snapshot.data.data!;
                    return Column(
                      children: [
                        Text('AccountNumber: ${something!.rvirtualAccount!.accountnumber!}'),
                        Text('Email.: ${something!.rvirtualAccount!.email}'),
                        Text('Phone Number.: ${something!.rvirtualAccount!.phonenumber}'),
                        Text('AccountName.: ${something!.rvirtualAccount!.accountname}'),
                        Text('Fullname.: ${something!.rvirtualAccount!.firstname}'),
                        Text('Tracking Ref.: ${something!.rvirtualAccount!.trackingref}'),
                      ],
                    );
                  }
                } else {
                  return CircularProgressIndicator();
                }
              },
            ),
          ]
        ),
      ),
    );
  }
}

To get list of GiftCards Offered by Kuda

Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('Gift Cards')),
      body: FutureBuilder<GiftCardResponse>(
        future: KudaGiftCard().list_gift_cards(requestRef),
        builder: (context, snapshot) {
          if (snapshot.connectionState == ConnectionState.waiting) {
            return Center(child: CircularProgressIndicator());
          } else if (snapshot.hasError) {
            return Center(child: Text('Error: ${snapshot.error}'));
            
          } else if (!snapshot.hasData || snapshot.data!.data.giftItems.isEmpty) {
            return Center(child: Text('No gift cards available'));
          } else {
            return ListView.builder(
              itemCount: snapshot.data!.data.giftItems.length,
              itemBuilder: (context, index) {
                final giftCard = snapshot.data!.data.giftItems[index];
                return ListTile(
                  leading: Image.network(giftCard.image),
                  title: Text(giftCard.package),
                  subtitle: Text('Category: ${giftCard.category}'),
                  trailing: Text(
                    'Country: ${giftCard.countries.length}',
                    style: TextStyle(color: Colors.red),
                  ),
                  onTap: () {
                    // Handle gift card item tap
                  },
                );
              },
            );
          }
        },
      ),
    );
  }

📝 License #

This project is under license from MIT. For more details, see the LICENSE file.

Social Presense #

Follow me on social media Medium! Twitter! Instagram! LinkedIn! Porfolio!

Back to top

2
likes
130
pub points
0%
popularity

Publisher

verified publishergiftbalogun.name.ng

A Flutter library for seamless integration with the Kuda Bank API, simplifying fintech app development.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter, get, http

More

Packages that depend on kudaopenapi