Ce package vous permet d'invoquer le guichet de paiement de CinetPay, effectuer un paiement et attendre le statut du paiement initié à la seconde près après la fin du paiement
L'utilisation du package est la plus simple possible, dans son utilisation, il s'agit d'invoquer celui-ci avec :
Les paramétres d'initialisation du guichetLes données relatives au paiementLe callback d'attente du retour de paiementLe callback d'écoute d'erreur d'exécutionQuelques prérequis sont nécessaires pour faire fonctionner correctement le package.
Ajouter les permissions suivantes dans le fichier android/app/src/main/AndroidManifest.xml
<application
...
android:usesCleartextTraffic="true">
...
</application>
...
<uses-permission android:name="android.permission.INTERNET"/>
Modifier la version du minSdkVersion dans le fichier android/app/src/build.gradle
minSdkVersion 17
Ajouter la permission suivante dans le fichier ios/Runner/Info.plist
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
Pour fonctionner, le guichet doit impérativement recevoir des données telles que :
ObligatoireObligatoireObligatoirePour effectuer le paiement, certaines données devront-être soumises pour préparer le guichet. Ainsi, on a :
(>= 100 XOF) | Entier | ObligatoireXOF - XAF - CDN - GNF - USD) | Chaîne de caractère | ObligatoireObligatoireObligatoireALL - MOBILE_MONEY - CREDIT_CARD - WALLET. Par défaut : 'ALL' Toute combinaison est applicable à en séparant par une virgule : 'MOBILE_MONEY, WALLET' | Chaîne de caractère | Facultatif* | Chaîne de caractère | Facultatif* | Chaîne de caractère | Facultatif* | Chaîne de caractère | Facultatif* | Chaîne de caractère* | Chaîne de caractère | Facultatif* | Chaîne de caractère | Facultatif* | Chaîne de caractère | Facultatif* | Chaîne de caractère | Facultatif* | Chaîne de caractère | Facultatif
NB :
*Obligatoire si utilisation de l’univers bancaire (CREDIT_CARD)
Lorsque le paiement est enclenché, le package reste en attente du statut final du paiement-ci. Ainsi, à la fin du paiement le package reçoit le statut, qu'il le transmet au travers du callback qui sera définit. Le format de retour attendu est le suivant :
ACCEPTED ou REFUSED) | Chaîne de caractèreLors du traitement, il peut survenir certains types d'erreurs telles que, certains paramètres pour le paiement manquantes. Le format de retour attendu est le suivant :
En resumé, le package s'utilise par le biais d'un appel widget :
CinetPayCheckout(
title: 'Guichet de paiement',
configData: <String, dynamic> {
'apikey': 'YOUR_API_KEY',
'site_id': YOUR_SITE_ID,
'notify_url': 'https://mondomaine.com/notify/'
},
paymentData: <String, dynamic> {
'transaction_id': 'YOUR_TRANSACTION_ID',
'amount': 100,
'currency': 'XOF',
'channels': 'ALL',
'description': 'Test de paiement'
},
waitResponse: (response) {
print(response);
}
onError: (error) {
print(error);
}
);