Binoxus Pay
Ce package vous permet de collecter le paiement par différents moyens : Carte de paiement
Débit | Crédit.
, Bin-Wallet , Mobile Money. Vous devez avoir un compte marchand dans pay.binoxus.com, Où vous trouverez vos coordonnées d'authentification.
Les étapes
L'utilisation du package est très simple, il suffit de suivre les étapes suivantes :
L'initialiser le paiement du côté serveur
Récupérer le
systemRefet le
tokenFaire passer ces informations dans le widget BinoxusPayCheckout
Mettre votre logique en attendant le callback de retour de paiement
Le callback de retour peut être de type IBinoxusPayOnResponse ou IBinoxusPayOnError en cas d'erreurs inattendue
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
```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
-
-
-
IOS
-
Ajouter la permission suivante dans le fichier ios/Runner/Info.plist
```plist <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict> ```
-
Initialisation de paiement
Pour commencer, initialiser le paiement du côté serveur, vous aurez la réponse contenant des données telles que :
- bin_status| Type EApiResponseStatusCode | Le status de l'opération d'initialisation, si c'est
BIN000
, l'opération a réussi, sinon, quelque chose s'est mal passée; - system_ref | L'identifiant du paiement dans le système;
- customer_ref | L'identifiant de votre paiement;
-
- token | Le token à utiliser lors de l'appel du widget de paiement;
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 retour un callback du type IBinoxusPayOnResponse:
- amount | Type : Double | Montant du paiement;
- currency | Type : String | Devise du paiement;
- binStatus | Statut de l'opération de paiement (
BIN000
: l'opération a réussi, mais il faut vérifier le paymentStatus afin de s'assurer que le paiement a réussi , à partir de :BIN001
, l'opération à échoué ) | Chaîne de caractère -
- paymentStatus | type : IPaymentStatus | Statut de l'opération de paiement (
APPROVED
ouFAIL)
| Chaîne de caractère
- paymentStatus | type : IPaymentStatus | Statut de l'opération de paiement (
- customRef| Types : String | L'identifiant de votre paiement;
- title | Types : String | Le titre correspondant au status de paiement;
- systemRef | Types : String | L'identifiant du paiement dans Binoxus Pay;
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 : décrivant la raison de l'échec;
- title | Chaîne de caractère : le titre de l'échec;
Utilisation du package
En resumé, le package s'utilise par le biais d'un appel appel widget :
```dart
// CONFIG
var configs = IBinoxusPayConfigs(
token: 'ONE_TIME_TOKEN',
);
var paymentBody = IBinoxusPaymentBody(
systemRef: 'SYSTEM_REF',
);
Navigator.of(context).push(
// OUVRIR LA PAGE DE PAIEMENT
MaterialPageRoute(
builder: (context) => BinoxusPayCheckout(
title: "Binoxus Pay",
titleBackgroundColor: Colors.blue.shade900,
titleStyle: const TextStyle(color: Colors.white),
configs: configs,
paymentBody: paymentBody,
onResponse: (value) {
debugPrint("onResponse : $value");
if (value.binStatus == EApiResponseStatusCode.bIN000) {
// PAYMENT SUCCEED
} else {
// PAYMENT FAILS
}
},
onError: (value) {
debugPrint("onError : $value");
// PAYMENT FAILS
},
),
));
```
Libraries
- binoxuspay
- common/common_service
- common/http_client
- common/http_interceptor
- constants/binoxuspay_colors
- enum/enum
- env/binoxus_env
- model/binoxuspay_response
- model/ewallet_selection_type
- model/payment_method_list_item
- model/payment_method_model
- screens/payment_form_screen
- screens/payment_method_selection_screen
- utils/utils
- widgets/app_fullcontent_spin
- widgets/binoxus_progress_indicator
- widgets/ops_error_screen
- widgets/ops_info_screen
- widgets/ops_success_screen
- widgets/ops_warning_screen
- widgets/server_less_binoxuspay
- widgets/square_image_widget