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 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.