foloosi_flutter_payment

Last updated:

0 purchases

foloosi_flutter_payment Image
foloosi_flutter_payment Images
Add to Cart

Description:

foloosi flutter payment

Foloosi Payment #

A Flutter plugin for making payments via Foloosi Payment Gateway. Fully supports Android and iOS.
<div style="text-align: center">
<table>
<tr>
<td style="text-align: center">
<img src="https://raw.githubusercontent.com/FoloosiTech/foloosi_flutter_payment/master/sample.gif" width="400" />
</td>
</tr>
</table>
</div>
copied to clipboard
Installation #
In the dependencies: section of your pubspec.yaml, add the following line:
foloosi_flutter_payment: ^1.0.5
copied to clipboard
Import in your project:
import 'package:foloosi_flutter_payment/foloosi_flutter_payment.dart';
copied to clipboard
Basic Usage #
class MyHomePage extends StatefulWidget {
MyHomePage({Key key}) : super(key: key);

@override
_MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
bool proceedToPayment = false;
final GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>();

void _proceeedToPayment() {
setState(() {
proceedToPayment = true;
});
}

@override
Widget build(BuildContext context) {
return Scaffold(
key: _scaffoldKey,
appBar: proceedToPayment
? null
: AppBar(
title: Text('Foloosi Payment Flutter'),
),
body: proceedToPayment
? FoloosiPayment(
headerText: 'Foloosi Payment',
loaderText: "Processing Request",
merchantKey: 'YOUR_FOLOOSI_MERCHANT_KEY',
secretKey: 'YOUR_FOLOOSI_SECRET_KEY',
transactionAmount: 1,
currency: 'AED',
customerName: 'Omar Ali',
customerEmail: '[email protected]',
customerMobile: '+971000000000',
customerAddress: 'No 2, Test Street',
customerCity: 'Dubai',
billingState: 'Dubai',
billingPostalCode: '000000', // For UAE, pass postal code as 000000
billingCountry: 'ARE', // Three Digit ISO Country Code,
optional1: '', // Optional Params
optional2: '', // Optional Params
optional3: '', // Optional Params
onPaymentClose: (value) {
print("Payment Error : $value");
setState(() {
proceedToPayment = false;
});
_scaffoldKey.currentState.showSnackBar(SnackBar(
content: Text(value.toString()),
duration: Duration(seconds: 3),
));
},
onError: (value) {
print("Payment Error : $value");
setState(() {
proceedToPayment = false;
});
_scaffoldKey.currentState.showSnackBar(SnackBar(
content: Text(value.toString()),
duration: Duration(seconds: 3),
));
},
onSuccess: (transactionDetails) {
print("Payment Success : $transactionDetails");
print(
json.decode(transactionDetails)['data']['transaction_no']);
setState(() {
proceedToPayment = false;
});
_scaffoldKey.currentState.showSnackBar(SnackBar(
content: Text(
json.decode(transactionDetails)['status'].toString()),
duration: Duration(seconds: 3),
));
},
)
: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
onPressed: _proceeedToPayment,
child: new Text(
"Proceed to Payment",
),
)
],
),
),
);
}
}
copied to clipboard
Sample Dart Program #
import 'dart:convert';

import 'package:flutter/material.dart';
import 'package:foloosi_flutter_payment/foloosi_flutter_payment.dart';

void main() {
runApp(MyApp());
}

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Foloosi Payment Flutter',
debugShowCheckedModeBanner: false,
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: MyHomePage(),
);
}
}

class MyHomePage extends StatefulWidget {
MyHomePage({Key key}) : super(key: key);

@override
_MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
bool proceedToPayment = false;
final GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>();

void _proceeedToPayment() {
setState(() {
proceedToPayment = true;
});
}

@override
Widget build(BuildContext context) {
return Scaffold(
key: _scaffoldKey,
appBar: proceedToPayment
? null
: AppBar(
title: Text('Foloosi Payment Flutter'),
),
body: proceedToPayment
? FoloosiPayment(
headerText: 'Foloosi Payment',
loaderText: "Processing Request",
merchantKey: 'YOUR_FOLOOSI_MERCHANT_KEY',
secretKey: 'YOUR_FOLOOSI_SECRET_KEY',
transactionAmount: 1,
currency: 'AED',
customerName: 'Omar Ali',
customerEmail: '[email protected]',
customerMobile: '+971000000000',
customerAddress: 'No 2, Test Street',
customerCity: 'Dubai',
billingState: 'Dubai',
billingPostalCode: '000000', // For UAE, pass postal code as 000000
billingCountry: 'ARE', // Three Digit ISO Country Code
optional1: '', // Optional Params
optional2: '', // Optional Params
optional3: '', // Optional Params
onPaymentClose: (value) {
print("Payment Error : $value");
setState(() {
proceedToPayment = false;
});
_scaffoldKey.currentState.showSnackBar(SnackBar(
content: Text(value.toString()),
duration: Duration(seconds: 3),
));
},
onError: (value) {
print("Payment Error : $value");
setState(() {
proceedToPayment = false;
});
_scaffoldKey.currentState.showSnackBar(SnackBar(
content: Text(value.toString()),
duration: Duration(seconds: 3),
));
},
onSuccess: (transactionDetails) {
print("Payment Success : $transactionDetails");
print(
json.decode(transactionDetails)['data']['transaction_no']);
setState(() {
proceedToPayment = false;
});
_scaffoldKey.currentState.showSnackBar(SnackBar(
content: Text(
json.decode(transactionDetails)['status'].toString()),
duration: Duration(seconds: 3),
));
},
)
: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
RaisedButton(
onPressed: _proceeedToPayment,
child: new Text(
"Proceed to Payment",
),
)
],
),
),
);
}
}

copied to clipboard
Note: If you're using the foloosi secret and merchant keys as a string in flutter, remember to escape the $ dollar signs although it is recommended to load these from your backend
merchantKey: 'YOUR_MERCHANT_KEY',
secretKey: 'YOUR_SECRET_KEY',
copied to clipboard
Properties #
Here is a list of properties available:



Name
Type
Required
Description




headerText
String
false
the title of the widget's appbar


onError
Function
true
function to run on payment error


onSuccess
Function
true
function to run on payment success


loaderText
String
false
text to display under the loader


merchantKey
String
true
your foloosi merchant key


secretKey
String
true
your foloosi secret key


referenceToken
String
false
the reference token - generates automatically if null


redirectUrl
String
false
the redirect url


transactionAmount
String
-
transaction amount - required if referenceToken is null


currency
String
-
transaction currency - required if referenceToken is null


customerName
String
false
customer name - auto render in payment popup if passed


customerEmail
String
false
customer email - auto render in payment popup if passed


customerMobile
String
false
customer mobile - auto render in payment popup if passed


customerAddress
String
false
customer address - auto render in payment popup if passed


customerCity
String
false
customer city - auto render in payment popup if passed


billingState
String
false
Billing State - auto render in payment popup if passed


billingPostalCode
String
false
Billing Postcode - auto render in payment popup if passed


billingCountry
String
false
Billing Country - auto render in payment popup if passed


optional1
String
false
Optional Parameter - Pass whatever you need


optional2
String
false
Optional Parameter - Pass whatever you need


optional3
String
false
Optional Parameter - Pass whatever you need


paymentCancellationMsg
String
false
message returned when user cancels the payment


debugMode
bool
false
to enable or disable package logs



Developed by #
Foloosi
License #
Copyrights (c) 2021 Foloosi

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.