flutter_notchpay 0.1.0
flutter_notchpay: ^0.1.0 copied to clipboard
A secure, complete, and beautiful Flutter SDK for NotchPay. Accept Mobile Money and Card payments in your native Flutter app with a polished, ready-made checkout experience.
Changelog #
All notable changes to this project are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased #
Added #
NotchPayEnvironment(sandbox/live), detected automatically from the public key.NotchPay.instance.environment/.isSandbox/.isLiveexpose it, andcheckout()shows a "Sandbox mode" banner automatically when a test key is detected.- The checkout sheet now caps its own width and stays centered on tablets, desktop, and web instead of stretching edge-to-edge.
.github/labels.yml+ a sync workflow: repository labels are now defined as code..github/SETUP.md: one-time repository admin checklist (branch protection, pub.dev automated publishing, Codecov, labels).doc/USAGE.md: an exhaustive, section-by-section usage guide covering every service, model, and utility this package exposes.
0.1.0 - 2026-07-27 #
Added #
- Initial release.
NotchPayfacade:init/instancesingleton plus standalone instances, exposing typed services for every NotchPay REST resource (customers, payments, channels/currencies/countries, payment methods, identity, and the backend-only recipients/transfers/refunds/balance/sync-account endpoints).NotchPay.checkout(): a native, themeable checkout bottom sheet with automatic MTN/Orange Money operator detection from the phone number, an animated confirmation screen while polling for the final payment status, and hosted-redirect support (Card and other channels) viaurl_launcher.- Built-in English and French checkout strings (
NotchPayLocalizations), auto-selected from the app's locale, overridable per call. - Typed exceptions (
NotchPayApiException,NotchPayNetworkException,NotchPayConfigurationException,NotchPayCancelledException) instead of raw HTTP errors. - A documented public/private key security boundary: only the public key is ever required for the checkout flow; private-key-only methods fail fast with a clear error if no private key was configured.
- Full unit, widget, and integration test coverage; a runnable example app
demonstrating theming,
flutter_blocstate management, and a localdrift-backed payment history cache.