flutter_yengapay_checkout 0.1.2+1 copy "flutter_yengapay_checkout: ^0.1.2+1" to clipboard
flutter_yengapay_checkout: ^0.1.2+1 copied to clipboard

Flutter YengaPay package

Flutter Yengapay Checkout #

style: very good analysis Powered by Mason License: MIT

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
copied to clipboard

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)
        ]));
}),
)
copied to clipboard

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
copied to clipboard

To run all unit tests:

very_good test --coverage
copied to clipboard

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
copied to clipboard