feda 0.0.3 copy "feda: ^0.0.3" to clipboard
feda: ^0.0.3 copied to clipboard

Ce plugin est concu pour faciliter les interactions entre nos divers applications flutter et l'api de FedaPay.

example/lib/main.dart

import 'package:feda/models/transaction.dart';
import 'package:flutter/material.dart';
import 'package:feda/feda.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Accueil(),
    );
  }
}

class Accueil extends StatefulWidget {
  const Accueil({super.key});

  @override
  State<Accueil> createState() => _AccueilState();
}

class _AccueilState extends State<Accueil> {
  final _idController = TextEditingController(text: "192809");

  // Recupération de toute mes transactions
  getAllData() async {
    var data = await Feda.all_transactions();
    print(data);
  }

  // Recupération des données d'une transaction
  findTransaction() async {
    FedaTransaction data =
        await Feda.find_transaction(int.parse(_idController.text));
    print(data.toString());
  }

  createRedirectTransaction() async {
    // Récupération du lien de paiement pour lantransaction afin de faire une redirection
    var transaction_lien = await Feda.create_transaction(
      FedaTransactionRequest(
          amount: 500,
          clienMail: "tbaissou@gmail.com",
          description: "Ma premiere trx feda",
          phone_number: {
            'number': "65924088",
            'country': 'bj',
          }),
    );
    print(transaction_lien);

    // --- ou ---

    // Feda.create_transaction(
    //   FedaTransactionRequest(
    //       amount: 500,
    //       clienMail: "tbaissou@gmail.com",
    //       description: "Ma premiere trx feda",
    //       phone_number: {
    //         'number': "65924088",
    //         'country': 'bj',
    //       }),
    // ).then((transaction_lien) {

    //    // code de redirection

    // });
  }

  createTransaction() async {
    Feda.create_transaction(
        // Transaction sans redirection
        // 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 😅😅
        FedaTransactionRequest(
            amount: 500,
            clienMail: "tbaissou@gmail.com",
            description: "Ma premiere trx feda",
            phone_number: {
              'number': "65924088",
              'country': 'bj',
            }),
        redirect: false,
        reseau: 'moov');
  }

  @override
  Widget build(BuildContext context) {
    double longeur = MediaQuery.of(context).size.height;
    double largeur = MediaQuery.of(context).size.width;

    return Scaffold(
      appBar: AppBar(
        title: const Text('FedaPay plugin'),
      ),
      body: Center(
        child: Padding(
          padding: EdgeInsets.symmetric(horizontal: largeur / 15),
          child: Column(mainAxisAlignment: MainAxisAlignment.center, children: [
            const Text("Tout récupérer"),
            ElevatedButton(
                key: const Key('get_all_btn'),
                onPressed: getAllData,
                child: const Text("Récupérer")),
            Padding(
              padding:
                  EdgeInsets.only(top: longeur / 15, bottom: longeur / 50.0),
              child: const Text("Récupérer une transaction avec son id"),
            ),
            TextFormField(
              key: const Key('trx_id'),
              controller: _idController,
              decoration: InputDecoration(
                  border: const OutlineInputBorder(),
                  labelText: 'Password',
                  suffix: InkWell(
                      key: const Key('get_btn'),
                      onTap: findTransaction,
                      child: const Icon(
                        Icons.search,
                        color: Colors.blue,
                      ))),
            ),
            Padding(
              padding:
                  EdgeInsets.only(top: longeur / 15, bottom: longeur / 50.0),
              child: const Text("Lancer une transaction redirigée vers Feda"),
            ),
            ElevatedButton(
                key: const Key('create_redirect_btn'),
                onPressed: createRedirectTransaction,
                child: const Text("Récupérer")),
            Padding(
              padding:
                  EdgeInsets.only(top: longeur / 15.0, bottom: longeur / 50.0),
              child: const Text("Lancer une transaction sans redirection"),
            ),
            ElevatedButton(
                key: const Key('create_btn'),
                onPressed: createTransaction,
                child: const Text("Récupérer")),
          ]),
        ),
      ),
    );
  }
}
5
likes
130
points
37
downloads

Publisher

unverified uploader

Weekly Downloads

Ce plugin est concu pour faciliter les interactions entre nos divers applications flutter et l'api de FedaPay.

Homepage

Documentation

API reference

License

MIT (license)

Dependencies

flash_api, flutter, plugin_platform_interface

More

Packages that depend on feda