Future<> — et s’intègre naturellement dans vos widgets et services.
Installation
Ajoutez la dépendance dans votrepubspec.yaml :
pubspec.yaml
Initialisation
Dart
apikey et votre authToken depuis le dashboard LigdiCash en créant un projet API. Stockez-les dans vos variables d’environnement, jamais en dur dans le code Flutter.
Payin avec redirection
Le client est redirigé vers la page de paiement hébergée par LigdiCash dans une WebView. C’est le flux recommandé sur mobile.Dart
Payin sans redirection
Le client paie directement depuis votre interface Flutter. Vous devez collecter son numéro de téléphone et, selon l’opérateur, son code OTP.Dart
Le mode OTP varie selon l’opérateur. Par exemple, pour un opérateur en mode USSD, le client génère son OTP sur son téléphone avant que vous ne soumetttiez. Pour un opérateur en mode approbation (ex. Moov Africa), envoyez
otp: '' — le client approuve directement sur son application. Consultez la page de l’opérateur concerné.Payout
Envoyez de l’argent vers un client — remboursement, gain, salaire.Vers le wallet LigdiCash du client
Dart
Directement vers le mobile money
Dart
WithdrawalType.client utilise POST /pay/v01/withdrawal/create (via wallet LigdiCash). WithdrawalType.merchant utilise POST /pay/v01/straight/payout (mobile money direct, plus lent). Voir Payout — Introduction.Vérification de statut
AppelezgetTransaction avec le token stocké à la création (pas le token du callback, qui est différent).
Dart
TransactionType :
| Valeur | Endpoint vérifié |
|---|---|
TransactionType.payin | GET /redirect/checkout-invoice/confirm |
TransactionType.clientPayout | GET /withdrawal/confirm |
transaction :
| Propriété | Type | Description |
|---|---|---|
status | String | "completed", "pending", "cancelled" |
responseCode | String | "00" succès, "01" échec |
amount | double | Montant de la transaction |
operatorId | String | Identifiant de l’opérateur |
operatorName | String | Nom de l’opérateur |
customer | String | Numéro du client |
token | String | Token de la transaction |
customData | Map<String, dynamic> | Données personnalisées envoyées à la création |
Gestion des erreurs
Dart
Vérifiez
response.responseCode après chaque appel : "00" indique un succès, "01" une erreur. En cas d’erreur, consultez response.wiki pour obtenir l’URL de détail des sous-codes.