cinetpay 1.0.8
cinetpay: ^1.0.8 copied to clipboard
Invoquez le guichet de paiement de CinetPay, effectuez un paiement et attendez le statut du paiement initié à la seconde près après la fin du paiement.
🚀 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 guichetLes données relatives au paiementLe callback d'attente du retour de paiementLe 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 >= 19compileSdk >= 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 (
ACCEPTEDouREFUSED)| 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.
