flutterwave_flutterflow 1.0.0 flutterwave_flutterflow: ^1.0.0 copied to clipboard
Flutterwave's official library that wraps the standard implementation.
Flutterwave Flutter SDK (Standard) #
The Flutter library helps you create seamless payment experiences in flutterflow.
Available features include:
- Collections: Card, Account, Mobile money, Bank Transfers, USSD, Barter.
- Recurring payments: Tokenization and Subscriptions.
- Split payments
Table of Contents #
Requirements #
- Flutterwave for business API Keys
- Supported Flutter version >= 1.17.0
Installation #
- Add the dependency to your project. In your
pubspec.yaml
file add:flutterwave_flutterflow: 1.0.0
- Run
flutter pub get
Usage #
Initializing a Flutterwave instance #
To create an instance, you should call the Flutterwave constructor. This constructor accepts a mandatory instance of the following:
- The calling
Context
publicKey
Customer
amount
currency
email
fullName
txRef
isDebug
paymentOptions
Customization
It returns an instance of Flutterwave which we then call the async method .charge()
on.
_handlePaymentInitialization() async {
final style = FlutterwaveStyle(
appBarText: "My Standard Blue",
buttonColor: Color(0xffd0ebff),
appBarIcon: Icon(Icons.message, color: Color(0xffd0ebff)),
buttonTextStyle: TextStyle(
color: Colors.black,
fontWeight: FontWeight.bold,
fontSize: 18),
appBarColor: Color(0xffd0ebff),
dialogCancelTextStyle: TextStyle(
color: Colors.redAccent,
fontSize: 18
),
dialogContinueTextStyle: TextStyle(
color: Colors.blue,
fontSize: 18
)
);
final Customer customer = Customer(
name: "FLW Developer",
phoneNumber: "1234566677777",
email: "customer@customer.com"
);
final Flutterwave flutterwave = Flutterwave(
context: context,
style: style,
publicKey: "Public Key,
currency: "RWF",
redirectUrl: "my_redirect_url"
txRef: "unique_transaction_reference",
amount: "3000",
customer: customer,
paymentOptions: "ussd, card, barter, payattitude",
customization: Customization(title: "Test Payment"),
isDebug: true
);
}
Handling the response #
Calling the .charge()
method returns a Future of ChargeResponse
which we await for the actual response as seen above.
final ChargeResponse response = await flutterwave.charge();
if (response != null) {
print(response.toJson());
if(response.success) {
Call the verify transaction endpoint with the transactionID returned in `response.transactionId` to verify transaction before offering value to customer
} else {
// Transaction not successful
}
} else {
// User cancelled
}
Note
ChargeResponse
can be null if a user cancels the transaction by pressing back.- You need to confirm the transaction is succesful. Ensure that the txRef, amount, and status are correct and successful. Be sure to verify the transaction details before providing value.
Support #
For additional assistance using this library, contact the developer experience (DX) team via email or on slack.
You can also follow us @FlutterwaveEng and let us know what you think 😊.
Contribution guidelines #
Read more about our community contribution guidelines here.
License #
By contributing to the Flutter library, you agree that your contributions will be licensed under its MIT license.
Copyright (c) Flutterwave Inc.