Last updated:
0 purchases
kkiapay flutter sdk
kkiapay_flutter_sdk #
Kkiapay is developer friendly solution that allows you to accept mobile money and credit card payments
in your application or website.
Before using this SDK, make sure you have a right Merchant Account on Kkiapay, otherwise go
and create your account is free and without pain 😎.
Installation #
To use this package :
dependencies:
flutter:
sdk: flutter
kkiapay_flutter_sdk:
copied to clipboard
For web
add to your index.html
<script src="https://cdn.kkiapay.me/k.js"></script>
copied to clipboard
Usage #
import 'package:kkiapay_flutter_sdk/kkiapay_flutter_sdk.dart';
copied to clipboard
Initialise the Kkiapay Instance
final kkiapay = KKiaPay(
@required callback: Function(Map<String, dynamic> response, BuildContext context),
@required amount: int, // Ex : 1000
@required apikey: String, // Ex : XXXX_public_api_key_XXX
@required sandbox: bool, // Ex : true
data: String, // Ex : 'Big data'
phone: String, // Ex : "22961000000"
name: String, // Ex : "John Doe"
reason: String, // Ex : "transaction reason"
email: String, // Ex : "[email protected]"
callbackUrl: String, // Ex : "http://kkiapay.me"
theme: String, // Ex : "#222F5A"
countries: List<String>, // Ex : ["CI","BJ"]
partnerId: String, // Ex : 'AxXxXXxId'
paymentMethods: List<String> // Ex : ["momo","card"]
);
copied to clipboard
Create payment webview instance
Mobile:
Navigator.push( context, MaterialPageRoute(builder: (context) => kkiapay), );
copied to clipboard
Web:
KkiapayFlutterSdkPlatform.instance.pay( kkiapay, context, callback );
copied to clipboard
Example #
import 'package:flutter/material.dart';
import 'package:kkiapay_flutter_sdk/kkiapay_flutter_sdk.dart';
void main() => runApp(App());
void callback(response, context) {
switch ( response['status'] ) {
case PAYMENT_CANCELLED:
Navigator.pop(context);
debugPrint(PAYMENT_CANCELLED);
break;
case PAYMENT_INIT:
debugPrint(PAYMENT_INIT);
break;
case PENDING_PAYMENT:
debugPrint(PENDING_PAYMENT);
break;
case PAYMENT_SUCCESS:
Navigator.pop(context);
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => SuccessScreen(
amount: response['requestData']['amount'],
transactionId: response['transactionId'],
),
),
);
break;
default:
debugPrint(UNKNOWN_EVENT);
break;
}
}
final kkiapay = KKiaPay(
amount: 1000,//
countries: ["BJ","CI","SN","TG"],//
phone: "22961000000",//
name: "John Doe",//
email: "[email protected]",//
reason: 'Transaction reason',//
data: 'Fake data',//
sandbox: true,//
apikey: public_api_key,//
callback: callback,//
theme: defaultTheme, // Ex : "#222F5A",
partnerId: 'AxXxXXxId',//
paymentMethods: ["momo","card"]//
);
class App extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
home: Scaffold(
appBar: AppBar(
backgroundColor: nColorPrimary,
title: Text('Kkiapay Sample'),
centerTitle: true,
),
body: KkiapaySample(),
),
);
}
}
class KkiapaySample extends StatelessWidget {
const KkiapaySample({
Key? key,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Center(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
ButtonTheme(
minWidth: 500.0,
height: 100.0,
child: TextButton(
style: ButtonStyle(
backgroundColor: MaterialStateProperty.all(Color(0xff222F5A)),
foregroundColor: MaterialStateProperty.all(Colors.white),
),
child: const Text(
'Pay Now',
style: TextStyle(color: Colors.white),
),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => kkiapay),
);
},
),
),
const SizedBox(height: 50,),
ButtonTheme(
minWidth: 500.0,
height: 100.0,
child: TextButton(
style: ButtonStyle(
backgroundColor:
MaterialStateProperty.all(const Color(0xff222F5A)),
foregroundColor: MaterialStateProperty.all(Colors.white),
),
child: const Text(
'Pay Now ( WEB )',
style: TextStyle(color: Colors.white),
),
onPressed: () {
KkiapayFlutterSdkPlatform.instance.pay(kkiapay, context, callback);
},
),
)
],
)
);
}
}
copied to clipboard
Reference #
ArgumentTypeRequiredDetails
phoneStringYesValid mobile money number to debit. ex : 22967434270
amountNumericYesAmount to debit from user account (XOF)
nameStringNoClient firstname and lastname
partnerIdStringNoYour id to find transaction
countriesList of StringNoSet widget countries ex: ["CI"]
paymentMethodsList of StringNoSet widget payment methods ex: ["momo","card"]
themeStringNo the hexadecimal code of the color you want to give to your widget
apikeyStringYespublic api key
sandboxBooleanNoThe true value of this attribute allows you to switch to test mode
successCallbackFunctionYesThis function is called once the payment has been successfully made
the successCallback function takes two parameters in the following order
- Map<String,dynamic> containing the transaction information
{
'requestData': {
'amount': int,
'phone': String,
'reason': String,
'data': String,
'partnerId': String,
'sandbox': bool,
'name': String,
'email': String
},
'transactionId': String,
'status': String
}
- the context of type BuildContext
copied to clipboard
Issues and feedback #
Please file issues
to send feedback or report a bug. Thank you!
gir
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.