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

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