{"id":19641440,"url":"https://github.com/tbgracy/mvola-dart","last_synced_at":"2026-02-15T13:33:44.268Z","repository":{"id":61975421,"uuid":"523308087","full_name":"tbgracy/mvola-dart","owner":"tbgracy","description":"A dart package for interacting with the MVola API.","archived":false,"fork":false,"pushed_at":"2022-11-29T03:10:58.000Z","size":38,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-16T04:38:30.107Z","etag":null,"topics":["mvola","mvola-sdk"],"latest_commit_sha":null,"homepage":"https://pub.dev/packages/mvola","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tbgracy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-08-10T11:00:15.000Z","updated_at":"2024-06-26T07:09:11.000Z","dependencies_parsed_at":"2023-01-22T07:02:03.452Z","dependency_job_id":null,"html_url":"https://github.com/tbgracy/mvola-dart","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/tbgracy/mvola-dart","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbgracy%2Fmvola-dart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbgracy%2Fmvola-dart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbgracy%2Fmvola-dart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbgracy%2Fmvola-dart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tbgracy","download_url":"https://codeload.github.com/tbgracy/mvola-dart/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tbgracy%2Fmvola-dart/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260097366,"owners_count":22958189,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mvola","mvola-sdk"],"created_at":"2024-11-11T14:09:22.270Z","updated_at":"2026-02-15T13:33:39.249Z","avatar_url":"https://github.com/tbgracy.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MVolaAPI dart package\n\nThis is a package that can be used to interact with the [not that] brand new [MVola API](https://www.mvola.mg/devportal/home) from a [Dart](https://dart.dev) or [Flutter](https://flutter.dev) client.\n\n## ⚠️ DISCLAIMER\n\nIt is not recommended to manage payments in the client side due to some security reasons (most of dart packages are used for Flutter), so use it at your own risk. It was only after the first release of the package that I acknowledged that fact but I am not gonna delete it.\n\n## 🔫 Features\n\nIt allow you to make payments, see the status of a transaction and get the details of a previously made transaction.\n\n## 🛠️ Getting started\n\nThis package depends on the [uuid](https://pub.dev/packages/uuid) and the [http](https://pub.dev/packages/http) packages.\n\n### Installing from the command line\n\nType in the terminal :\n\n```sh\ndart pub add mvola\n```\n\nor, if your adding it to a flutter project :\n\n```sh\nflutter pub add mvola\n```\n\n### Pubspec installation\n\nAdd these lines to your pubspec.yaml :\n\n```yaml\ndependencies:\n    mvola:\n```\n\nMore info can be found on [pub.dev](https://pub.dev/packages/mvola), the official package repository for [Dart](https://dart.dev/) and [Flutter](https://flutter.dev/).\n\n## Usage\n\nStart by importing the library.\n\n```dart\nimport 'package:mvola/mvola.dart';\n```\n\nThen create an instance of the `MVolaClient` class with the base url for the requests([https://devapi.mvola.mg](https://devapi.mvola.mg) in the sandbox and [https://api.mvola.mg](https://api.mvola.mg) in production, as mentionned in the documentation) and a consumer key and a consumer secret. An optional callbackUrl can be provided, it's the url where the API send a notification whether a transaction has been successful or not.\n\n```dart\nvar mvola = MVolaClient(baseUrl, consumerKey, consumerSecret);\n```\n\n[consumerKey] and [consumerSecret] can be found on the [mvola devportal](https://www.mvola.mg/devportal) upon creating an application.\n\nYou then have to generate an access token in order to make transactions.\nYou can store it in a variable for later use or just call the method to set it.\n\n```dart\nawait mvola.generateAccessToken();\n```\n\nNow, you can make transactions, get the status of that transaction or get the details of a transaction.\n\n```dart\n// make a transaction\nvar transactionResponse = await mvola.initTransaction(\n    partnerName: 'name',\n    partnerNumber: '0343500004',\n    creditNumber: '0343500004',\n    amount: 5000,\n    debitNumber: '0343500003',\n    description: 'short description',\n);\n\n// get the status of a transaction\nvar transactionStatus = await mvola.getTransactionStatus(transactionResponse.serverCorrelationId, '0343500004', 'name');\n\n// get the detail of a transaction\nvar transaction = await mvola.getTransactionDetail(serverCorrelationId, \"name\", \"0343500004\");\n```\n\nIn the development environment, only 0343500004 and 0343500003 can be used as merchant or customer numbers.\n\nThe complete example code can be found [here](https://github.com/tbgracy/mvola-dart/blob/main/example/mvola_example.dart) or [here](https://pub.dev/packages/mvola/example).\n\n## Todo\n\n* [ ] Improve documentation\n* [ ] Improve error/exception responses\n* [ ] Add badges to [README.md](https://github.com/tbgracy/mvola-dart/blob/main/README.md)\n* [ ] Add disclaimer to not use this package with client-side code (use with server-side stuff\nlike serverpod)\n\n## Support\n\nIf you encounter any issue or want more information about this package, don't hesitate to [email me](mailto:gtsierenana@gmail.com) or message me on [facebook](https://facebook.com/gracy.botramanagna) or open an issue.\n\n## Additional information\n\nℹ️ This package is still in early stage of developpment. So please, don't hesitate to point out any issue or suggest an improvment.\n\n## License\n\n[MIT](https://choosealicense.com/licenses/mit/)\n\n## Author\n\n👤 **Tsierenana Botramanagna Gracy**\n\n✉️ [gtsierenana@gmail.com](mailto:gtsierenana@gmail.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftbgracy%2Fmvola-dart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftbgracy%2Fmvola-dart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftbgracy%2Fmvola-dart/lists"}