feexpay_flutter_v2 1.1.2
feexpay_flutter_v2: ^1.1.2 copied to clipboard
A secure plugin to accept Mobile Money, Wallet and Credit Card payments (API v2) with bilingual interface (FR/EN).
Feexpay v2 #
FeexPay v2 est un plugin Flutter sécurisé pour accepter les paiements Mobile Money, Wallet et Carte Bancaire via l'API v2.
Interface bilingue (FR/EN) avec détection automatique de la langue du téléphone.
Installation #
flutter pub add feexpay_flutter_v2
Import #
import 'package:feexpay_flutter_v2/feexpay_flutter_sdk.dart';
Utilisation #
import 'package:feexpay_flutter_v2/feexpay_flutter_sdk.dart';
ChoicePage(
token: 'votre_api_key',
id: 'votre_shop_id',
amount: '1500',
redirecturl: '/success',
errorredirecturl: '/error',
onPaymentResult: (PaymentResult result) {
if (result.isSuccess) {
// Paiement accepté — récupérez la référence de transaction
final txRef = result.reference;
// Ex: confirmer la commande auprès de votre backend
} else if (result.isFailed) {
// Paiement échoué
print('Échec: ${result.message}');
}
},
)
Paramètres #
| Paramètre | Type | Requis | Description |
|---|---|---|---|
token |
String |
Oui | Clé API |
id |
String |
Oui | Identifiant boutique |
amount |
String |
Oui | Montant (ex: "1500") |
redirecturl |
String |
Non | Route/URL de redirection après succès |
errorredirecturl |
String |
Non | Route/URL de redirection après échec |
locale |
AppLocale |
Non | Forcer la langue : AppLocale.fr ou AppLocale.en |
reference |
String |
Non | Référence de transaction prédéfinie |
hide_identity_form |
bool |
Non | Masquer le formulaire d'identité (nom/email) |
name_shop |
String |
Non | Nom du marchand (affiché dans l'interface) |
trans_key |
String |
Non | Clé de transaction (15 caractères aléatoires) |
callback_info |
Map |
Non | Infos supplémentaires pour le callback |
onPaymentResult |
void Function(PaymentResult) |
Non | Callback appelé après un paiement réussi (SUCCESSFUL) ou échoué (FAILED) |
Résultat du paiement #
Le callback onPaymentResult reçoit un objet PaymentResult contenant :
| Propriété | Type | Description |
|---|---|---|
status |
String |
Statut réel de l'API : SUCCESSFUL ou FAILED |
reference |
String |
Référence de la transaction côté Feexpay |
message |
String? |
Message d'erreur (uniquement en cas d'échec) |
isSuccess |
bool |
Raccourci pour status == 'SUCCESSFUL' |
isFailed |
bool |
Raccourci pour status == 'FAILED' |
ChoicePage(
...
onPaymentResult: (PaymentResult result) {
if (result.isSuccess) {
// La référence est disponible pour traitement ultérieur
final reference = result.reference;
await myBackend.confirmOrder(reference);
}
},
);
Changement de langue en temps réel #
Un bouton FR/EN est affiché dans l'interface utilisateur. L'utilisateur peut basculer entre le français et l'anglais à tout moment sans redémarrer le formulaire.
// Détection automatique (français par défaut si langue du téléphone ≠ anglais)
ChoicePage.autoLocale(
token: '...',
id: '...',
amount: '1500',
)
// Forcer le français
ChoicePage(
token: '...',
id: '...',
amount: '1500',
locale: AppLocale.fr,
)
// Forcer l'anglais
ChoicePage(
token: '...',
id: '...',
amount: '1500',
locale: AppLocale.en,
)
Modes de paiement supportés #
| Pays | Mobile Money | Wallet |
|---|---|---|
| Bénin (BJ) | MTN, MOOV, CELTIIS BJ | CORIS |
| Côte d'Ivoire (CI) | ORANGE CI, MTN CI, MOOV CI | WAVE CI |
| Togo (TG) | MOOV TG, TOGOCOM TG | - |
| Burkina Faso (BF) | ORANGE BF, MOOV BF | - |
| Sénégal (SN) | FREE SN, ORANGE SN | WAVE SN |
Déclaration des routes de redirection #
Les routes internes sont déclarées dans le MaterialApp de l'application hôte :
MaterialApp(
title: 'Mon App',
theme: ThemeData(fontFamily: 'Poppins'),
routes: {
'/success': (context) => const SuccessPage(),
'/error': (context) => const EndErrorPage(),
},
)
Les redirections externes (URLs http/https) sont également supportées.
Contribution #
Les pull requests sont les bienvenues. Pour les changements majeurs, veuillez d'abord ouvrir une issue.