lengopay_flutter
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.2
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(
// Initialisation du service Lengopay avec votre clé de licence
licenseKey: 'VOTRE_LICENSE_KEY',
// 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: 'VOTRE_WEBSITE_ID',
// 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 :
-
git clone https://github.com/4n-d3er-git/lengopay_flutter.git
-
git checkout -b ma-fonctionnalite
-
Effectuez vos modifications et ajoutez des tests.
-
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.