cinetpay 1.0.0 cinetpay: ^1.0.0 copied to clipboard
Effectuez vos paiements en ligne avec CinetPay.
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
android:usesCleartextTraffic="true" android:name="android.permission.INTERNET"
-
Modifier la version du minSdkVersion dans le fichier _android/app/src/build.gradle
minSdkVersion 17
-
-
IOS
-
Ajouter la permission suivante dans le fichier ios/Runner/Info.plist
-
Initialisation du guichet #
Pour fonctionner, le guichet doit impérativement recevoir des données telles que :
Libellé | Description | Type | Statut |
---|---|---|---|
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 :
Libellé | Description | Type | Statut |
---|---|---|---|
amount | Montant du paiement (>= 100 XOF) | Entier | Obligatoire |
currency | Devise du paiement (XOF - XAF - CDN - GNF - USD - KMF) | 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 - 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 |
metadata | Chaîne de caractère | Facultatif | |
customer_name | Nom de l’acheteur * | Chaîne de caractère | Facultatif |
customer_surname | Prénoms de l’acheteur * | Chaîne de caractère | Facultatif |
customer_email | Adresse email de l’acheteur * | Chaîne de caractère | Facultatif |
customer_phone_number | Numéro de téléphone de l’acheteur * | Chaîne de caractère | |
customer_city | Ville de l’acheteur * | Chaîne de caractère | Facultatif |
customer_country | Pays de l’acheteur. Code ISO2 du pays (CI => Côte-d'Ivoire). * | Chaîne de caractère | Facultatif |
customer_state | Etat de l’acheteur (Lorsque USA est utilisé comme pays) * | Chaîne de caractère | Facultatif |
customer_zip_code | Code postal de l’acheteur * | Chaîne de caractère | Facultatif |
NB : * Obligatoire si utilisation de l’univers bancaire (CREDIT_CARD)
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 :
Libellé | Description | Type |
---|---|---|
amount | Montant du paiement | Entier |
currency | Devise du paiement | Chaîne de caractère |
status | Statut du paiement (ACCEPTED ou REFUSED) | 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 :
Libellé | Type |
---|---|
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(
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);
}
);