lengopay_flutter

pub package pub points

lengopay_flutter est un package Flutter permettant d'intégrer facilement Lengo Pay dans vos applications. Il simplifie la génération d'URL de paiement et la gestion des notifications de callback.

Fonctionnalités

  • Génération d'URL de paiement : Créez une URL pour chaque transaction avec un montant et une devise spécifiques.

  • Gestion des callbacks : Recevez les notifications sur le statut des paiements.

  • Support multi-devises : Accepte plusieurs devises comme GNF, XOF, USD, etc.

Installation

Ajoutez lengopay_flutter comme dépendance dans votre projet Flutter en exécutant la commande suivante :

flutter pub add lengopay_flutter

Ou ajoutez-le manuellement dans le fichier pubspec.yaml :

dependencies:
  lengopay_flutter: ^1.1.1

Puis, installez les dépendances avec :

flutter pub get

Utilisation de base

Importation

Commencez par importer le package dans votre projet :

import 'package:lengopay_flutter/lengopay_flutter.dart';

Exemple de création d'une URL de paiement

 // Initialisation du service Lengopay avec votre clé de licence
    final lengopay = LengopayFlutter(
      licenseKey: '',
      // Par defaut le package utilise l'url de test: 'https://sandbox.lengopay.com/api/v1'
      // vous pouvez utiliser l'URL de production
      // ici 👇👇
      // baseUrl:
    );

    try {
      // Initier un paiement
      final paymentResponse = await lengopay.initiatePayment(
        PaymentRequest(
          websiteId: '',
          // L'identifiant unique de votre site
          amount: 1500,
          // Montant du paiement
          currency: 'GNF',
          // Devise utilisée "GNF", "XOF" ou "USD"
          returnUrl: '',
          // (Optionnel) URL de retour
          callbackUrl: '',
          // (Optionnel) URL de callback
        ),
      );
// Vous pouvez remplacer log par print selon vos bésoins.
      log('Status: ${paymentResponse.status}');
      log('Pay ID: ${paymentResponse.payId}');
      log('URL de paiement: ${paymentResponse.paymentUrl}');
    } on LengopayException catch (e) {
      log('Erreur Lengopay: ${e.toString()}');
    } catch (e) {
      log('Erreur inattendue: ${e.toString()}');
    }

Gestion des erreurs

Vous pouvez intercepter les exceptions en utilisant un bloc try-catch pour traiter les éventuelles erreurs comme :

  • La demande était mal formée ou il manquait les paramètres requis (400 Bad Request)

  • La clé API fournie était invalide ou manquante (401 Unauthorized)

  • La ressource demandée n'a pas été trouvée (404 Not Found)

  • Une erreur inattendue s'est produite sur le serveur. (500 Internal Server Error)

Gestion des notifications de callback

Lorsque vous fournissez une callbackUrl dans la requête, le serveur de Lengopay enverra une notification HTTP POST à cette URL une fois le paiement traité.

Exemple de notification reçue

{
"pay_id": "123456789",
"status": "SUCCESS",
"amount": 1500,
"message": "Transaction Successful",
"client": "123456789"
}

Assurez-vous que votre serveur peut répondre correctement à ces notifications pour éviter toute perte de données.

Configuration requise

  • Flutter SDK : >=3.27.0

  • Dart SDK : >=3.7.0

  • Lengo Pay Sandbox ou clé de production

Contribution

Les contributions sont les bienvenues ! Suivez ces étapes pour contribuer :

  1. git clone https://github.com/4n-d3er-git/lengopay_flutter.git

  2. git checkout -b ma-fonctionnalite

  3. Effectuez vos modifications et ajoutez des tests.

  4. Soumettez une Pull Request.

Roadmap

  • Statut d'un paiement

  • Historique des transactions

  • Documentation en plusieurs langues

Licence

Ce package est sous licence MIT. Consultez le fichier LICENSE pour plus d'informations.

Liens utiles

Si vous avez des questions ou des suggestions, n'hésitez pas à ouvrir une issue sur GitHub.

Made with ❤️ by Anderson GOUMOU