feda

Ceci est un plugin de gestion des transactions de l'agrégateur FedaPay en flutter.

Ce pluggin est concu pour etre fonctionnel sur toute les plateformes de flutter.

Authors

Configuration

Après l'installation du package, vous aurez besoin de créer tout à la racine du projet, un fichier "env.json".

Il s'agit du fichier où nos configurations seront renseignées.

Il se présente comme suit :

Fichier env.json

{
    "APP_PROD_ENV"              :   false,                                      // config du plugin flash_api

    "API_TOKEN_TYPE"            :   "Bearer",                                   // config du plugin flash_api (facultatif)
    "API_PROD_BASE_URL"         :   "https://jsonplaceholder.typicode.com/",    // config du plugin flash_api (facultatif)
    "API_DEV_BASE_URL"          :   "https://jsonplaceholder.typicode.com/",    // config du plugin flash_api (facultatif)
    "API_CONNECT_TIMEOUT"       :   10000,                                      // config du plugin flash_api (facultatif)
    "API_RECEIVE_TIMEOUT"       :   10000,                                      // config du plugin flash_api (facultatif)

    "FEDA_LIVE"                 :   false,                                      // Il s'agit de votre enviroment actuel (true => prod et false => dev)
    "FEDA_CALLBACK_PROD_URL"    :   "http://localhost:8000/collback",           // Il s'agit ici du lien de votre application où vous souhaitez rediriger l'utilisateur après paiement
    "FEDA_CALLBACK_DEV_URL"     :   "http://localhost:8000/collback",           // Il s'agit ici du lien de votre application où vous souhaitez rediriger l'utilisateur après paiement
    "FEDA_LIVE_KEY"             :   "sk_live_....",                             // Il s'agit ici de votre clef privée de fedapay en live
    "FEDA_SANDBOX_KEY"          :   "sk_sandbox_..."                            // Il s'agit ici de votre clef privée de fedapay en demo
}

Une fois la base d'URL ainsi définies dans votre fichier json, vous n'aurez plus qu'à passer le endpoint en paramètre au helper utilisé en fonction de votre type de requête.

Les premières configurations sont celles de Flash APi pour la gestion des appels api.

Penser à ajouter l'asset dans le pubspec.yaml

assets:
    - env.json

Exemple d'utilisation

Voici quelques exemples d'utilisation du package

Récupération des transactions

import 'package:feda/feda.dart';

getAllData() async {
    List data = await Feda.all_transactions();
}

Récupération d'une transaction en connaissant son id

import 'package:feda/feda.dart';

findTransaction() async {
    FedaTransaction data =
        await Feda.find_transaction(int.parse(_idController.text));
}

Création d'un lien de transaction

import 'package:feda/feda.dart';

createRedirectTransaction() async {
    String transaction_lien = await Feda.create_transaction(
        FedaTransactionRequest(
            amount: 500,
            clienMail: "tbaissou@gmail.com",
            description: "Ma premiere trx feda",
            phone_number: {
                'number': "65924088",
                'country': 'bj',
            }
        ),
    );
}

Toutes les opérations nécessaires pour la création sont est effectuée, et vous recevrez, en retour, le lien vers la transaction. Il ne vous reste plus qu'à rediriger votre client pour qu'il procède au paiement.

Création d'une transaction directe

import 'package:feda/feda.dart';

createTransaction() async {
Feda.create_transaction(
    FedaTransactionRequest(
        amount: 500,
        clienMail: "tbaissou@gmail.com",
        description: "Ma premiere trx feda",
        phone_number: {
            'number': "65924088",
            'country': 'bj',
        }),
        redirect: false,
        reseau: 'moov',
    );
}

Pour les réseaux, je ne connais que les valeurs ci apreès : 'mtn', 'moov', 'mtn_ci', 'moov_tg', 'mtn_open', 'airtel_ne', 'free_sn','togocel', 'mtn_ecw'

Vous allez devoir vous débrouillez pour le reste 😅😅

App Screenshot