A robust Flutter plugin for making payments via Paystack Payment Gateway. Completely supports Android and iOS

Overview

πŸ’³ Paystack Plugin for Flutter

build status Coverage Status pub package

A Flutter plugin for making payments via Paystack Payment Gateway. Fully supports Android and iOS.

πŸš€ Installation

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

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

import 'package:flutter_paystack/flutter_paystack.dart';

class _PaymentPageState extends State<PaymentPage> {
  var publicKey = '[YOUR_PAYSTACK_PUBLIC_KEY]';
  final plugin = PaystackPlugin();

  @override
  void initState() {
    plugin.initialize(publicKey: publicKey);
  }
}

No other configuration requiredβ€”the plugin works out of the box.

πŸ’² Making Payments

There are two ways of making payment with the plugin.

  1. Checkout: This is the easy way; as the plugin handles all the processes involved in making a payment (except transaction initialization and verification which should be done from your backend).
  2. Charge Card: This is a longer approach; you handle all callbacks and UI states.

1. 🌟 Checkout (Recommended)

You initialize a charge object with an amount, email & accessCode or reference. Pass an accessCode only when you have initialized the transaction from your backend. Otherwise, pass a reference.

Charge charge = Charge()
      ..amount = 10000
      ..reference = _getReference()
       // or ..accessCode = _getAccessCodeFrmInitialization()
      ..email = '[email protected]';
    CheckoutResponse response = await plugin.checkout(
      context context,
      method: CheckoutMethod.card, // Defaults to CheckoutMethod.selectable
      charge: charge,
    );

Please, note that an accessCode is required if the method is CheckoutMethod.bank or CheckoutMethod.selectable.

plugin.checkout() returns the state and details of the payment in an instance of CheckoutResponse .

It is recommended that when plugin.checkout() returns, the payment should be verified on your backend.

2. ⭐ Charge Card

You can choose to initialize the payment locally or via your backend.

A. Initialize Via Your Backend (Recommended)

1.a. This starts by making a HTTP POST request to paystack on your backend.

1.b If everything goes well, the initialization request returns a response with an access_code. You can then create a Charge object with the access code and card details. The charge is in turn passed to the plugin.chargeCard() function for payment:

  PaymentCard _getCardFromUI() {
    // Using just the must-required parameters.
    return PaymentCard(
      number: cardNumber,
      cvc: cvv,
      expiryMonth: expiryMonth,
      expiryYear: expiryYear,
    );
  }

  _chargeCard(String accessCode) async {
    var charge = Charge()
      ..accessCode = accessCode
      ..card = _getCardFromUI();

    final response = await plugin.chargeCard(context, charge: charge);
    // Use the response
  }

The transaction is successful if response.status is true. Please, see the documentation of CheckoutResponse for more information.

2. Initialize Locally

Just send the payment details to plugin.chargeCard

      // Set transaction params directly in app (note that these params
      // are only used if an access_code is not set. In debug mode,
      // setting them after setting an access code would throw an error
      Charge charge = Charge();
      charge.card = _getCardFromUI();
      charge
        ..amount = 2000
        ..email = '[email protected]'
        ..reference = _getReference()
        ..putCustomField('Charged From', 'Flutter PLUGIN');
      _chargeCard();

πŸ”§ πŸ”© Validating Card Details

You are expected but not required to build the UI for your users to enter their payment details. For easier validation, wrap the TextFormFields inside a Form widget. Please check this article on validating forms on Flutter if this is new to you.

NOTE: You don't have to pass a card object to Charge. The plugin will call-up a UI for the user to input their card.

You can validate the fields with these methods:

card.validNumber

This method helps to perform a check if the card number is valid.

card.validCVC

Method that checks if the card security code is valid.

card.validExpiryDate

Method checks if the expiry date (combination of year and month) is valid.

card.isValid

Method to check if the card is valid. Always do this check, before charging the card.

card.getType

This method returns an estimate of the string representation of the card type(issuer).

βœ”οΈ Verifying Transactions

This is quite easy. Just send a HTTP GET request to https://api.paystack.co/transaction/verify/$[TRANSACTION_REFERENCE]. Please, check the official documentaion on verifying transactions.

🚁 Testing your implementation

Paystack provides tons of payment cards for testing.

▢️ Running Example project

For help getting started with Flutter, view the online documentation.

An example project has been provided in this plugin. Clone this repo and navigate to the example folder. Open it with a supported IDE or execute flutter run from that folder in terminal.

πŸ“ Contributing, 😞 Issues and πŸ› Bug Reports

The project is open to public contribution. Please feel very free to contribute. Experienced an issue or want to report a bug? Please, report it here. Remember to be as descriptive as possible.

πŸ† Credits

Thanks to the authors of Paystack iOS and Android SDKS. I leveraged on their work to bring this plugin to fruition.

Comments
  • the cardholder was not authorized

    the cardholder was not authorized

    the cardholder was not authorized. this is used in 3-d secure authentication. I was not allowed to process a transaction when the plugin popped up another dialog telling me to wait for verification, I was expecting it to show me what to do, but nothing.

    Any help will be useful please

    help wanted 
    opened by quiet-programmer 20
  • Unresolved reference: VERSION_NAME  Unresolved reference: VERSION_CODE

    Unresolved reference: VERSION_NAME Unresolved reference: VERSION_CODE

    Why I got that kind of error?

    e: C:\src\flutter.pub-cache\hosted\pub.dartlang.org\flutter_paystack-1.0.4+1\android\src\main\kotlin\co\paystack\flutterpaystack\MethodCallHandlerImpl.kt: (33, 100): Unresolved reference: VERSION_NAME e: C:\src\flutter.pub-cache\hosted\pub.dartlang.org\flutter_paystack-1.0.4+1\android\src\main\kotlin\co\paystack\flutterpaystack\MethodCallHandlerImpl.kt: (43, 48): Unresolved reference: VERSION_CODE

    FAILURE: Build failed with an exception.

    • What went wrong: Execution failed for task ':flutter_paystack:compileDebugKotlin'.
    opened by bartukaan 14
  • Paystack null safety version is not initializing on flutter 2

    Paystack null safety version is not initializing on flutter 2

    E/flutter (23171): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: Paystack SDK has not been initialized. The SDK has to be initialized before use E/flutter (23171): #0 PaystackPlugin._validateSdkInitialized (package:flutter_paystack/src/common/paystack.dart:143:7) E/flutter (23171): #1 PaystackPlugin.publicKey (package:flutter_paystack/src/common/paystack.dart:61:5) E/flutter (23171): #2 PaystackPlugin.checkout (package:flutter_paystack/src/common/paystack.dart:130:22) E/flutter (23171): #3 payStackPay (package:proptor/payment_methods/payStack.dart:41:44) E/flutter (23171): #4 _PaymentMethodsState.build... (package:proptor/screens/payment_methods.dart:167:48) E/flutter (23171): #5 _rootRun (dart:async/zone.dart:1346:47) E/flutter (23171): #6 _CustomZone.run (dart:async/zone.dart:1258:19) E/flutter (23171): #7 _FutureListener.handleWhenComplete (dart:async/future_impl.dart:176:18) E/flutter (23171): #8 Future._propagateToListeners.handleWhenCompleteCallback (dart:async/future_impl.dart:674:39) E/flutter (23171): #9 Future._propagateToListeners (dart:async/future_impl.dart:730:37) E/flutter (23171): #10 Future._completeWithValue (dart:async/future_impl.dart:539:5) E/flutter (23171): #11 Future._asyncCompleteWithValue. (dart:async/future_impl.dart:577:7) E/flutter (23171): #12 _rootRun (dart:async/zone.dart:1354:13) E/flutter (23171): #13 _CustomZone.run (dart:async/zone.dart:1258:19) E/flutter (23171): #14 _CustomZone.runGuarded (dart:async/zone.dart:1162:7) E/flutter (23171): #15 _CustomZone.bindCallbackGuarded. (dart:async/zone.dart:1202:23) E/flutter (23171): #16 _microtaskLoop (dart:async/schedule_microtask.dart:40:21) E/flutter (23171): #17 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5) E/flutter (23171):

    opened by Codesait 13
  • After upgrading to flutter 3,i can't build my app this error message keep coming up

    After upgrading to flutter 3,i can't build my app this error message keep coming up

    e: /media/trinity/E24E79554E792387/folders/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_paystack-1.0.5+1/android/src/main/kotlin/co/paystack/flutterpaystack/FlutterPaystackPlugin.kt: (48, 62): Type mismatch: inferred type is Activity? but Activity was expected e: /media/trinity/E24E79554E792387/folders/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_paystack-1.0.5+1/android/src/main/kotlin/co/paystack/flutterpaystack/MethodCallHandlerImpl.kt: (19, 37): Type mismatch: inferred type is BinaryMessenger? but BinaryMessenger was expected

    opened by Trinity6264 10
  • Unresolved reference: VERSION_NAME and VERSION_CODE

    Unresolved reference: VERSION_NAME and VERSION_CODE

    F:\flutter_sdk\flutter.pub-cache\hosted\pub.dartlang.org\flutter_paystack-1.0.4+1\android\src\main\kotlin\co\paystack\flutterpaystack\MethodCallHandlerImpl.kt: (32, 96): Unresolved reference: VERSION_NAME F:\flutter_sdk\flutter.pub-cache\hosted\pub.dartlang.org\flutter_paystack-1.0.4+1\android\src\main\kotlin\co\paystack\flutterpaystack\MethodCallHandlerImpl.kt: (36, 44): Unresolved reference: VERSION_CODE

    • What went wrong: Execution failed for task ':flutter_paystack:compileDebugKotlin'.

    Flutter Doctor F:\flutter_sdk\flutter\bin\flutter.bat doctor --verbose [√] Flutter (Channel dev, 1.26.0-1.0.pre, on Microsoft Windows [Version 10.0.19041.685], locale en-US) β€’ Flutter version 1.26.0-1.0.pre at F:\flutter_sdk\flutter β€’ Framework revision 63062a6443 (10 days ago), 2020-12-13 23:19:13 +0800 β€’ Engine revision 4797b06652 β€’ Dart version 2.12.0 (build 2.12.0-141.0.dev)

    [√] Android toolchain - develop for Android devices (Android SDK version 30.0.0-rc4) β€’ Android SDK at \AppData\Local\Android\Sdk β€’ Platform android-30, build-tools 30.0.0-rc4 β€’ ANDROID_SDK_ROOT = \AppData\Local\Android\Sdk β€’ Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java β€’ Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01) β€’ All Android licenses accepted.

    [√] Chrome - develop for the web β€’ Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

    [√] Android Studio (version 4.1.0) β€’ Android Studio at C:\Program Files\Android\Android Studio β€’ Flutter plugin can be installed from: https://plugins.jetbrains.com/plugin/9212-flutter β€’ Dart plugin can be installed from: https://plugins.jetbrains.com/plugin/6351-dart β€’ Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

    [√] VS Code (version 1.52.1) β€’ VS Code at \AppData\Local\Programs\Microsoft VS Code β€’ Flutter extension version 3.17.0

    [√] Connected device (5 available) β€’ Lenovo A7020a48 (mobile) β€’ Android 6.0 (API 23) β€’ vivo 1818 (mobile) β€’ Android 10 (API 29) β€’ Android SDK built for x86 (mobile) β€’ Android 10 (API 29) (emulator) β€’ Chrome (web) β€’ Google Chrome 87.0.4280.88 β€’ Edge (web) β€’ Microsoft Edge 87.0.664.66

    β€’ No issues found! Process finished with exit code 0

    opened by Bharavi26 10
  • Building Apk failed after installing paystack dependency

    Building Apk failed after installing paystack dependency

    Hello i am getting this error after I added flutter_paystack dependency to my project `FAILURE: Build completed with 2 failures.

    1: Task failed with an exception.


    • Where:

    Build file 'C:\Android_Setup\flutter.pub-cache\hosted\pub.dartlang.org\flutter_paystack-1.0.3+1\android\build.gradle' line: 25

    • What went wrong:

    A problem occurred evaluating project ':flutter_paystack'.

    Could not find implementation class 'org.jetbrains.kotlin.gradle.plugin.KotlinAndroidPluginWrapper' for plugin 'kotlin-android' specified in jar:file:/C:/Users/Administrator/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-gradle-plugin/1.3.61/d7dff46dc66708f3f01e5721178dd75403ea7853/kotlin-gradle-plugin-1.3.61.jar!/META-INF/gradle-plugins/kotlin-android.properties.

    • Try:

    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    ==============================================================================

    2: Task failed with an exception.


    • What went wrong:

    A problem occurred configuring project ':flutter_paystack'.

    compileSdkVersion is not specified.

    • Try:

    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    ==============================================================================

    • Get more help at https://help.gradle.org

    BUILD FAILED in 1m 45s`

    opened by studywithlawz 10
  • Release Mode Issue

    Release Mode Issue

    Good day, I’m currently having an error testing the implementation of the PayStack Flutter SDK on my mobile app. It appears to work on the Emulator on Debug Mode but when on a Physical Device on Release Mode, while testing on TestFlight, I get the following error : NoSuchMethodError: The getter 'length' was called on null. Receiver: null Tried Calling: length

    TRY ANOTHER CARD START OVER WITH SAME CARD Debug Mode

    Release Mode

    opened by fortknox 9
  • Converted metadata to json format

    Converted metadata to json format

    The metadata get method in charge.dart currently returns a string , instead of a json object (https://github.com/wilburt/flutter_paystack/blob/master/lib/src/models/charge.dart#L158). This is being sent directly to Paystack as seen here(https://github.com/wilburt/flutter_paystack/blob/master/lib/src/api/request/card_request_body.dart#L54)

    An example of the currently returned value is this:

    '{custom_fields: [{"user_action":"new_card","user_email":"[email protected]","mobile_number":"08181634383"}]}'
    

    The string itself is useless if you need to perform any operations on it at the backend for example. since you cannot decode the string.

    This PR converts the metadata into json by calling jsonEncode() from the dart:convert library.

    calling charge.metadata will now return something of the form

    {"custom_fields":[{"user_action":"new_card","user_email":"[email protected]","mobile_number":"08181634383"}]}
    

    which is valid json format.

    opened by Itope84 9
  • Plugin undercharges users even after specifying correct amount in Kobo.

    Plugin undercharges users even after specifying correct amount in Kobo.

    I noticed that the plugin undercharges each transaction amounts, even after specifying the right Kobo equivalent. So apparently I think it further devises the actual amount by 100. I attached a screenshot.

    Note the original amount at the top of the base widget and the amount the modal. The formatting seems off too.

    Current flutter version: 1.22.0

    help wanted 
    opened by asapJ 8
  • Androidx Error when using firebase_auth

    Androidx Error when using firebase_auth

    Thanks for your plugin.

    Been battling for hours with this. When I use these two plugins together, it always pops up Androidx errors:

    firebase_auth: 0.7.0 flutter_paystack: ^1.0.1

    When I use either of them separately, the code works fine.

    Here are my android dependencies: dependencies { classpath 'com.android.tools.build:gradle:3.3.1' classpath 'com.google.gms:google-services:3.2.1' }

    What could be wrong?

    opened by refsol 7
  • Reference value received after transaction different from the one used to initialize the transaction

    Reference value received after transaction different from the one used to initialize the transaction

    I tried using the plugin to create a transaction but found out the reference returned after the transaction is different from the one I passed in. Is there any rationale why the reference I create is not being returned or is it omitted from paystack's end?

    bug 
    opened by solnsumei 7
  • PayStack stopped working:  type 'int' is not a subtype of type 'String?'

    PayStack stopped working: type 'int' is not a subtype of type 'String?'

    var res =await PayNow( name: data['name'], quantity: '1', email: data['email'], price: int.parse(serviceFee) * 100, ctx: context, argument: data, ).chargeNow(); `Charge charge = Charge() ..amount = price ..email = email ..reference = _getRef() ..card = cardUi() ..currency = "NGN";

    CheckoutResponse checkoutResponse = await paystack.checkout(
      ctx,
      charge: charge,
      method: CheckoutMethod.card,
      logo: Image.asset(
        "assets/images/logo.png",
        width: 120,
      ),
    );`
    

    p1 p2

    opened by Megagonn 2
  • Execution failed for task ':flutter_paystack:compileDebugKotlin'

    Execution failed for task ':flutter_paystack:compileDebugKotlin'

    Gradle Build Fails, using version 1.0.5+1

    Error Log:

    BUILD FAILED in 6m 5s [!] Gradle threw an error while downloading artifacts from the network. Retrying Gradle Build: #1, wait time: 100ms : Warning: Operand of null-aware operation '!' has type 'WidgetsBinding' which excludes null. ../…/widgets/sucessful_widget.dart:57

    • 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../../flutter/packages/flutter/lib/src/widgets/binding.dart'). package:flutter/…/widgets/binding.dart:1 WidgetsBinding.instance!.addPostFrameCallback((_) => _startCountdown()); ^ C:\Users\HP\flutter.pub-cache\hosted\pub.dartlang.org\flutter_paystack-1.0.5+1\android\src\main\kotlin\co\paystack\flutterpaystack\FlutterPaystackPlugin.kt:48:62: error: type mismatch: inferred type is Activity? but Activity was expected plugin.setupMethodHandler(registrar.messenger(), registrar.activity()) ^ C:\Users\HP\flutter.pub-cache\hosted\pub.dartlang.org\flutter_paystack-1.0.5+1\android\src\main\kotlin\co\paystack\flutterpaystack\MethodCallHandlerImpl.kt:19:37: error: type mismatch: inferred type is BinaryMessenger? but BinaryMessenger was expected

            channel = MethodChannel(messenger, channelName)
                                    ^
      

    FAILURE: Build failed with an exception.

    opened by dancrux 0
  • ERROR!  Checking out with Bank no working

    ERROR! Checking out with Bank no working

    WhatsApp Image 2022-10-12 at 5 10 11 PM

    I got above message when I am checking out via bank. Though checking out with card works fine.

    Below is my code

    _handleCheckoutViaBank(BuildContext context) async { const _method = CheckoutMethod.bank; setState(() => transferInProgress = true);

    _formKey.currentState?.save();
    
    Charge charge = Charge()
      ..amount = widget.quoteAmount * 100 // In base currency
      ..email = userCurrentInfo.email;
    charge.accessCode = await _fetchAccessCodeFrmServer(_getReference());
    
    print("real accesscode is ${charge.accessCode}");
    
    try {
      CheckoutResponse response = await plugin.checkout(
        context,
        method: _method,
        charge: charge,
        fullscreen: false,
        logo: const MyLogo(),
      );
    

    //other code here }

    Future<String?> _fetchAccessCodeFrmServer(String reference) async { String? accessCode; try { var url = Uri.parse("mybackendurl/paystackacesscode");

      var response = await http.post(url,
          headers: requestHeaders,
          body: json.encode({
            "email": userCurrentInfo.email,
            "amount": widget.quoteAmount * 100,
          }));
    
      print("Access code url = $url");
      accessCode = json.decode(response.body);
      print('Response for access code = $accessCode');
    } catch (e) {
      setState(() => transferInProgress = false);
      _updateStatus(
          reference,
          'There was a problem getting a new access code form'
          ' the backend: $e');
    }
    
    return accessCode;
    

    }

    i can see my access code when i print it on the console. However when i click on verify account on the app it leads to this error.

    Please do look into it and resolve. Thanks

    opened by proGabby 0
Releases(v1.0.6)
  • v1.0.6(Sep 18, 2022)

    • Completed migration for Android v2 embedding.
    • Fixed colour issues in dark mode
    • Upgrades Kotlin and AGP versions.
    • Fixed build issues for Flutter 3
    Source code(tar.gz)
    Source code(zip)
  • v1.0.5+1(Apr 8, 2021)

  • v1.0.5(Mar 14, 2021)

    • Supported sound null-safety
    • Resolved build failure due to unresolved VERSION_NAME and VERSION_CODE
    • Fixed issue with dark mode (courtesy of nuelsoft)
    • Switched static initialization for instance initialization of the plugin
    • Upgraded all native and cross-platform dependencies
    Source code(tar.gz)
    Source code(zip)
  • v1.0.4+1(Aug 23, 2020)

  • v1.0.4(Aug 23, 2020)

    1.0.4

    • Implemented support for V2 Android embedding
    • Removed instances of deprecated Flutter APIs
    • Updated dependencies
    • Fixed issues #47 and #48
    • Deprecated callbacks in the chargeCard function.
    Source code(tar.gz)
    Source code(zip)
  • v1.0.3+1(Jan 22, 2020)

  • v1.0.3(Jan 22, 2020)

    • Fixed issue with using disposed context(#26)
    • Removed hardcoded currency text in the checkout prompt (#30)
    • Fixed issue where plugin crashes app in headless service (#31)
    • Converted charge metadata to json format (thanks to Itope84)
    • Fixed issue with validating past months
    • Added option to hide email and/or amount in checkout prompt
    • Made the example main.dart more usable
    • Wrote unit tests and widget tests
    Source code(tar.gz)
    Source code(zip)
  • v1.0.2+1(Nov 20, 2019)

  • v1.0.2(Nov 20, 2019)

    • Made plugin theme customizable
    • Switched deprecated UIWebView for WKWebView for iOS
    • Added a customizable company logo
    • Displayed "Secured by Paystack" at bottom of payment prompt
    Source code(tar.gz)
    Source code(zip)
  • v1.0.1+1(Oct 22, 2019)

  • v1.0.1(Apr 5, 2019)

  • v1.0.0(Feb 13, 2019)

  • v0.10.0(Feb 8, 2019)

    • Security Improvement: Removed usage of the secret key in checkout
    • Removed support for bank payment (requires secret key)
    • Transaction initialization and verification is no longer being handled by the checkout function (requires secret key)
    • Handled Gateway timeout error
    • Returning last for digits instead full card number after payment
    Source code(tar.gz)
    Source code(zip)
  • v0.9.3(Dec 14, 2018)

    • Fixed failure of web OTP on iOS devices
    • Automatically closes soft keyboard when text-field entries are submitted
    • Changed date picker on iOS to CupertinoDatePicker
    Source code(tar.gz)
    Source code(zip)
  • v0.9.2(Nov 24, 2018)

    • Bank account payment: fixed issue where the reference value passed to checkout is different from what is returned after transaction.
    • Increased width of checkout dialog.
    • Added flag to enable fullscreen checkout dialog.
    • Felt like doing some reorganising so I refactored some .dart files.
    Source code(tar.gz)
    Source code(zip)
  • v0.9.1+2(Nov 8, 2018)

  • v0.9.1+1(Oct 25, 2018)

  • v0.9.1(Oct 8, 2018)

  • v0.9.0(Oct 3, 2018)

  • v0.5.2(Aug 9, 2018)

  • v0.5.1(Aug 9, 2018)

  • v0.5.0(Jul 30, 2018)

Owner
Wilberforce Uwadiegwu
I make computers do things.
Wilberforce Uwadiegwu
Paystack SDK for iOS. Accept Payments on iOS

Paystack iOS SDK The Paystack iOS SDK make it easy to collect your users' credit card details inside your iOS app. By charging the card immediately on

Paystack 22 May 29, 2022
Item selling mobile app with secure payments with Payhere payment gateway. Auto APK generation with github actions CI/CD.

payhere_demo A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if

Shihara Dilshan 2 Jan 20, 2022
Paystack SDK for Android. Accept payments on Android

Paystack Android This is a library for easy integration of Paystack with your Android application. Use this library in your Android app so we shoulder

Paystack 117 Dec 12, 2022
A shopping cart application that lets the user create an account, select items, save the items in the cart, pay using the payment gateway, change account details and check order history.

Shopping Cart A new Flutter application. The main code file has all the code required for the mobile application. Getting Started This project is a st

null 1 Oct 14, 2021
Integrate Razorpay payment gateway flutter in just 15 minutes

How to Integrate Flutter Payments with Razorpay Payment Gateway Learn how to integrate payment gateway with Razorpay in less than 15 minutes, other ti

Sanskar Tiwari 25 Nov 25, 2022
Zaincash payment gateway integration for flutter

zaincash_flutter A none offical Zaincash payment gateway integration for flutter INSTALL in your project terminal enter dart pub add zaincash USE F

Karrar S. Honi 1 May 20, 2022
Flutter/dart package for payment gateway bKash (Bangladesh)

bKash(BD) Mobile Finance Payment Gateway Flutter Package This is a Flutter package for bKash BD Payment Gateway. This package can be used in flutter p

Codeboxr CodeHub 6 Nov 11, 2022
This is not an app. I made this architecture to build robust and easy-to-maintain products but in a faster way.

simple_architecture_flutter This is not an app. I made this architecture to build robust and easy-to-maintain products but in a faster way. Info I use

Batuhan Karababa 9 Oct 28, 2022
Natrium - Fast, Robust & Secure NANO Wallet, now written with Flutter.

Natrium - Fast, Robust & Secure NANO Wallet What is Natrium? Natrium is a cross-platform mobile wallet for the NANO cryptocurrency. It is written in D

Appditto 702 Dec 30, 2022
A Flutter plugin for handling Connectivity and REAL Connection state in the mobile, web and desktop platforms. Supports iOS, Android, Web, Windows, Linux and macOS.

cross_connectivity A Flutter plugin for handling Connectivity and REAL Connection state in the mobile, web and desktop platforms. Supports iOS, Androi

MarchDev Toolkit 29 Nov 15, 2022
A Flutter plugin that supports Pangle SDK on Android and iOS.

Thanks for non-commercial open source development authorization by JetBrains. η©Ώε±±η”² Flutter SDK `pangle_flutter`ζ˜―δΈ€ζ¬Ύι›†ζˆδΊ†ε­—θŠ‚θ·³εŠ¨η©Ώε±±η”² Android ε’Œ iOS SDKηš„ Flutter

null 121 Dec 2, 2022
Lightweight SMS Misr gateway implementation in dart (unofficial).

palestine_sms_misr (unofficial) Part of PalestineDevelopers Lightweight SMS Misr gateway implementation in dart (unofficial). Table Of Contents Featur

Palestine Developers 3 Mar 10, 2022
A Flutter plugin to read πŸ”– metadata of 🎡 media files. Supports Windows, Linux & Android.

flutter_media_metadata A Flutter plugin to read metadata of media files. A part of Harmonoid open source project ?? Install Add in your pubspec.yaml.

Harmonoid 60 Dec 2, 2022
P2P payment solution using Stream's Flutter SDK and Rapyd's Wallet API

Peer-to-peer payment integration to a messaging app using Flutter ?? This project shows how to integrate a peer-to-peer payment solution to your Strea

Souvik Biswas 15 Dec 8, 2022
Attendance and Payment manager

Manage Me Application A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you st

Rohit Karnawat 1 Oct 16, 2021
Online wallet app for money transfer and bill payment.

shapshapcoins Payment Platform Getting Started This project is a starting point for a Flutter application. A few

Ndoye Philip Ndula 1 Nov 14, 2021
Official Flutter SDK for Khalti Payment systems

Khalti Payment Gateway for Flutter Use Khalti Payment Gateway solution in your app or website to simplify payment for your customers. You do not need

Khalti 16 Oct 13, 2022
Expenses tracker built with Flutter and Dart making use of Provider, Intl, Syncfusion Flutter Datepicker and more

expense_app A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if t

Atuoha Anthony 2 Dec 10, 2022