flutter_yengapay_checkout 0.1.2+1
flutter_yengapay_checkout: ^0.1.2+1 copied to clipboard
Flutter YengaPay package
Flutter Yengapay Checkout #
Flutter YengaPay package
Installation 💻 #
❗ In order to start using Flutter Yengapay Checkout you must have the Flutter SDK installed on your machine.
Install via flutter pub add flutter_yengapay_checkout
:
dart pub add flutter_yengapay_checkout
How to use yenga pay sdk #
To use the FlutterYengaPayCheckoutPage
, you need to provide the necessary parameters such as organisationId
, projectId
, apiKey
, and paymentIntentData
.
organisationId
, projectId
, and apiKey
should be obtained from YengaPay. These are confidential credentials that must be managed securely. It is recommended to use the dotenv
plugin to manage these secrets.
visit https://yengapay.com/ or [yenga_pay_doc] for more informations
Continuous Integration 🤖 #
Ce package vous permet d'invoquer la Page de paiement de YengaPay,apres avoir créer une intention de payment notifier uniquement a titre information que le paiement a ete effectif
🔗 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 de la page de paiement
Les données relatives au paiement
Le callback d'attente du retour de paiement
Le callback d'écoute d'annulation
🛠 Les prérequis #
Visitez YengaPay pour creer un compte et recuperer les informations necessaire au package suivre les etapes de [Documentation API YengaPay Kreezus] pour l'implementation du webhook de notifications a vos serveurs de paiments effectifs yenga_pay_doc_link pour plus d'informations
Initialisation de la page de paiement FlutterYengaPayCheckoutPage #
Pour utiliser le FlutterYengaPayCheckoutPage
, vous devez fournir les paramètres nécessaires tels que organisationId
, projectId
, apiKey
, et paymentIntentData
. organisationId
, projectId
, et apiKey
doivent être obtenus auprès de YengaPay.
Ce sont des informations confidentielles qui doivent être gérées de manière sécurisée. Il est recommandé d'utiliser le plugin dotenv
pour gérer ces secrets. Visitez YengaPay ou [Documentation API YengaPay Kreezus]
yenga_pay_doc_link pour plus d'informations.
Données du paiement #
Pour effectuer le paiement, certaines données devront être soumises pour préparer le guichet. Ainsi, on a :
- organisationId | l'id de votre organistion sur yengaPay |
String
|Obligatoire
- projectId | l'identifiant du projet |
String
|Obligatoire
- apiKey | Votre clé api |
String
|Obligatoire
- title | Titre du guichet |
String?
|Optionnel
- titleStyle | Style du titre du guichet |
TextStyle?
|Optionnel
- titleBackgroundColor | Couleur de fond du titre du guichet |
Color?
|Optionnel
- redirectionUrl | URL de redirection après paiement |
String?
|Optionnel
- onSuccessful | Fonction de callback pour gérer le paiement réussi |
Function?
|Optionnel
- onPaymentCancel | Fonction de callback pour gérer l'annulation du paiement |
Function?
|Optionnel
- errorWidget | Widget à afficher en cas d'erreur lors de la création de l'intention de paiement |
Widget?
|Optionnel
- loadingWidget | Widget à afficher lors de la création de l'intention de paiement |
Widget?
|Optionnel
- paymentDoneWidget | Widget à afficher lorsque le paiement est terminé |
Widget?
|Optionnel
- closeButtonPosition | Position du bouton de fermeture sur la page de paiement |
CloseButtonPosition
(enum) |Optionnel
- paymentIntentData | Object contenant les détails du paiement |
Obligatoire
PaymentIntentData #
L'objet PaymentIntentData
contient les informations nécessaires pour initier un paiement. Voici les propriétés de cet objet :
- paymentAmount | Le montant à payer |
num
|Obligatoire
- reference | Une référence unique pour le paiement |
String
|Obligatoire
- articles | Liste des articles à payer |
List<Article>
|Obligatoire
Article #
L'objet Article
représente un article à payer. Voici les propriétés de cet objet :
- title | Titre de l'article |
String
|Obligatoire
- description | Description de l'article |
String
|Obligatoire
- pictures | Liste des images de l'article |
List<String>
|Optionnel
- price | Prix de l'article |
num
|Obligatoire
👩💻 Example d'utilisation du package #
En resumé, le package s'utilise par le biais d'un appel appel widget :
Navigator.push(
context,
MaterialPageRoute(builder: (context) {
return FlutterYengaPayCheckoutPage(
organisationId: "REPLACE WITH YOUR ORGANISATION ID",
projectId: "REPLACE WITH YOUR PROJECT ID",
apiKey: "REPLACE WITH YOUR API KEY",
closeButtonPosition: CloseButtonPosition.top,
onSuccessful: () {
if (kDebugMode) {
print("Payment successful");
}
},
paymentIntentData: PaymentIntentData(
paymentAmount: 200,
reference: "ref",
articles: [
Article(
title: "title",
description: "description",
price: 1000)
]));
}),
)
Flutter Yengapay Checkout comes with a built-in GitHub Actions workflow powered by Very Good Workflows but you can also add your preferred CI/CD solution.
Out of the box, on each pull request and push, the CI formats
, lints
, and tests
the code. This ensures the code remains consistent and behaves correctly as you add functionality or make changes. The project uses Very Good Analysis for a strict set of analysis options used by our team. Code coverage is enforced using the Very Good Workflows.
Running Tests 🧪 #
For first time users, install the very_good_cli:
dart pub global activate very_good_cli
To run all unit tests:
very_good test --coverage
To view the generated coverage report you can use lcov.
# Generate Coverage Report
genhtml coverage/lcov.info -o coverage/
# Open Coverage Report
open coverage/index.html