flutter_flutterwave_rave 0.0.7 flutter_flutterwave_rave: ^0.0.7 copied to clipboard
Flutterwave's Rave Card Processing Plugin. Completely supports Android and iOS.
import 'package:flutter/material.dart';
import 'package:flutter_rave/flutter_rave.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Builder(
builder: (context) => SingleChildScrollView(
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
children: <Widget>[
Text(
'Pay Me',
),
FlatButton.icon(
onPressed: () {
_pay(context);
},
icon: Icon(Icons.email),
label: Text("Pay"),
),
],
),
),
),
);
}
_pay(BuildContext context) {
final _rave = RaveCardPayment(
isDemo: true,
encKey: "c53e399709de57d42e2e36ca",
publicKey: "FLWPUBK-d97d92534644f21f8c50802f0ff44e02-X",
transactionRef: "hvHPvKYaRuJLlJWSPWGGKUyaAfWeZKnm",
amount: 100,
email: "demo1@example.com",
onSuccess: (response) {
print("$response");
print("Transaction Successful");
if (mounted) {
Scaffold.of(context).showSnackBar(
SnackBar(
content: Text("Transaction Sucessful!"),
backgroundColor: Colors.green,
duration: Duration(
seconds: 5,
),
),
);
}
},
onFailure: (err) {
print("$err");
print("Transaction failed");
},
onClosed: () {
print("Transaction closed");
},
context: context,
);
_rave.process();
}
}