SDK Flutter

Le kit de développement (SDK) KKiaPay pour la plateforme Flutter est conçu afin de permettre l'intégration de notre plugin KKiaPay au sein de votre application mobile Flutter de la manière la plus simplifiée possible.

Après avoir créé votre compte KKiaPay, sur la plateforme kkiapay.me, vous aurez besoin de créer une instance de KKiaPay en procédant comme suit :

  1. Installer le SDK Flutter de KKiaPay

Pour installer ce plugin il vous suffit d’ajouter kkiapay_flutter_sdk à votre fichier pubspec.yml contenu dans votre projet.

Guide pratique pour l'installation d'un package avec Flutter : Installation d'un package.

dependencies:
flutter:
sdk: flutter
kkiapay_flutter_sdk:

2. Importer le package KKiaPay

import 'package:kkiapay_flutter_sdk/kkiapayWebview.dart'

3. Créer une instance de KKiaPay

Paramètres

Type

Description

amount

Numeric

Le montant à payer en FCFA

phone

String

Un numéro mobile money valide (MTN ou MOOV) Ex: 22997000000 Ex: 22995000000

name

String

Les nom et prénoms de l’initiateur du paiement

apikey

String

La clé publique liée à votre compte KKiaPay

sandbox

Boolean

Vous permet de basculer de l'environnement de test à l'environnement de production. La valeur true de cet attribut signifie que vous êtes en environnement de test

data

String

La donnée ou information liée à une transaction et interprétable par votre système.

successCallback

Function

La fonction de callback appelée uniquement lorsque le paiement a réussi

final kkiapay = Kkiapay(
@required sucessCallback: Function,
@required amount: String,
@required apikey: String,
sandbox: bool,
data: String,
phone: String,
name: String,
theme: dynamic
);

La fonction successCallback appelée à la fin d'un paiement de type Succès peut être utilisée afin de notifier au backend que la transaction s'est correctement déroulée; rediriger l’utilisateur vers une autre vue de l'application mobile; ou générer une facture. Tout dépend, en effet, du workflow de l'application mobile. Les paramètres de la fonction sont :

  • Le contexte (context) du widget de paiement

  • La réponse (response) qui est un objet comportant le montant (amount) et l'identifiant de la transaction (transactionId)

void successCallback(response, context) {}

Afin de procéder à la vérification d'une opération de paiement choisissez de configurer une série de webhooks en vous rendant sur votre compte KKiaPay.

4. Passer l'instance de KKiaPay créée à votre application

Afin d'ajouter le bouton de paiement de KKiaPay dans votre application mobile il vous faudra procéder à la création d’un widget Flutter KkiapaySample. Un clic sur ledit bouton appellera l'instance de KKiaPay défini plus haut et déclenchera l’affichage du widget de KKiaPay avec les informations de paiement spécifiées.

class KkiapaySample extends StatelessWidget {
const KkiapaySample({
Key key,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Center(
child: ButtonTheme(
minWidth: 250.0,
height: 60.0,
child: FlatButton(
color: Color(0xFFE30E25),
child: Text(
'Pay Now',
style: TextStyle(color: Colors.white),
),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => kkiapay),
);
},
),
),
);
}
}

Remplacez l’attribut body de votre starter Flutter App par le Widget de KkiapaySample implémenté ci-dessous :

class App extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Kkiapay Sample'),
centerTitle: true,
),
body: KkiapaySample(),
));
}
}

Exemple d'utilisation

import 'package:example/screens/successScreen.dart';
import 'package:flutter/material.dart';
import 'package:kkiapay_flutter_sdk/kkiapayWebview.dart';
import 'package:kkiapay_flutter_sdk/utils/Kkiapay.dart';
void main() => runApp(App());
void sucessCallback(response, context) {
Navigator.pop(context);
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => SuccessScreen(
amount: response['amount'],
transactionId: response['transactionId']
)),
);
}
final kkiapay = Kkiapay(
sucessCallback: sucessCallback,
amount: '2000',
sandbox: true,
data: 'fakedata',
apikey: 'xxxxxxxxxxxxxxxxxxxxxxx',
phone: '97000000',
name: 'JOHN DOE',
theme: '#2ba359');
class App extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
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: ButtonTheme(
minWidth: 250.0,
height: 60.0,
child: FlatButton(
color: Color(0xFFE30E25),
child: Text(
'Pay Now',
style: TextStyle(color: Colors.white),
),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => kkiapay),
);
},
),
),
);
}
}

Pour plus d'informations sur le package Flutter, rendez vous sur la page : KKiaPay Flutter SDK.