🚀 Paiement par CinetPay 👋
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
🔗 Les étapes
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 guichet
Les données relatives au paiement
Le callback d'attente du retour de paiement
Le callback d'écoute d'erreur d'exécution
🛠 Les prérequis
Quelques prérequis sont nécessaires pour faire fonctionner correctement le package.
-
Android
-
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 les versions de minSdkVersion & compileSdk dans le fichier _android/app/src/build.gradle
minSdkVersion >= 19
compileSdk >= 34
-
-
IOS
-
Ajouter la permission suivante dans le fichier ios/Runner/Info.plist
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
-
Initialisation du guichet
Pour fonctionner, le guichet doit impérativement recevoir des données telles que :
- apikey | L’identifiant du marchand | Chaine de caractère |
Obligatoire
- site_id | L'identifiant du service | Entier |
Obligatoire
- notify_url | URL de notification de paiement valide | URL |
Obligatoire
Données du paiement
Pour effectuer le paiement, certaines données devront-être sousmises pour préparer le guichet. Ainsi, on a :
- amount | Montant du paiement
(>= 100 XOF)
| Entier |Obligatoire
- currency | Devise du paiement (
XOF
-XAF
-CDN
-GNF
-USD
) | Chaîne de caractère |Obligatoire
- transaction_id | L'identifiant de la transaction. Elle doit-être unique, pour chaque transaction | Chaîne de caractère |
Obligatoire
- description | La description de votre paiement | Chaîne de caractère |
Obligatoire
- channels | L’univers de paiement. Peut être :
ALL
-MOBILE_MONEY
-WALLET
. Par défaut :'ALL'
Toute combinaison est applicable à en séparant par une virgule :'MOBILE_MONEY, WALLET'
| Chaîne de caractère | Facultatif - metadata | | Chaîne de caractère | Facultatif
Callback de retour de paiement
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 :
- amount | Montant du paiement | Entier
- currency | Devise du paiement | Chaîne de caractère
- status | Statut du paiement (
ACCEPTED
ouREFUSED)
| Chaîne de caractère - payment_method | Moyen du paiement | Chaîne de caractère
- description | La description de votre paiement | Chaîne de caractère
- metadata | Chaîne de caractère
- operator_id | L'identifiant du paiement de l'opérateur | Chaîne de caractère
- payment_date | La date du paiement | Chaîne de caractère
Callback d'erreur de traitement
Lors 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 :
- message | Chaîne de caractère
- description | Chaîne de caractère
👩💻 Utilisation du package
En resumé, le package s'utilise par le biais d'un appel appel widget :
CinetPayCheckout(
title: 'YOUR_TITLE',
titleStyle: YOUR_TITLE_STYLE,
titleBackgroundColor: YOUR_TITLE_BACKGROUND_COLOR,
configData: <String, dynamic> {
'apikey': 'YOUR_API_KEY',
'site_id': YOUR_SITE_ID,
'notify_url': 'YOUR_NOTIFY_URL'
},
paymentData: <String, dynamic> {
'transaction_id': 'YOUR_TRANSACTION_ID',
'amount': 100,
'currency': 'XOF',
'channels': 'ALL',
'description': 'YOUR_DESCRIPTION'
},
waitResponse: (response) {
print(response);
}
onError: (error) {
print(error);
}
);
😄 Auteur
AGBETOGOR Germain (Germinator) Pour plus d'infos, contactez le support.
Libraries
- cinetpay
- CinetPay Checkout library name