{"id":32287437,"url":"https://github.com/nelsonweze/nravepay","last_synced_at":"2026-02-22T00:01:24.491Z","repository":{"id":40442373,"uuid":"346755270","full_name":"nelsonweze/nravepay","owner":"nelsonweze","description":"Nravepay is a package that makes accepting card payments in a flutter project easier using Flutterwave","archived":false,"fork":false,"pushed_at":"2022-05-08T17:52:08.000Z","size":1934,"stargazers_count":3,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-11T16:23:10.135Z","etag":null,"topics":["card-payments","flutter","flutterwave"],"latest_commit_sha":null,"homepage":"https://pub.dev/packages/nravepay","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/nelsonweze.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":"2021-03-11T15:52:16.000Z","updated_at":"2024-02-08T05:06:58.000Z","dependencies_parsed_at":"2022-08-09T20:30:51.682Z","dependency_job_id":null,"html_url":"https://github.com/nelsonweze/nravepay","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nelsonweze/nravepay","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nelsonweze%2Fnravepay","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nelsonweze%2Fnravepay/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nelsonweze%2Fnravepay/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nelsonweze%2Fnravepay/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nelsonweze","download_url":"https://codeload.github.com/nelsonweze/nravepay/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nelsonweze%2Fnravepay/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29699335,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T23:35:04.139Z","status":"ssl_error","status_checked_at":"2026-02-21T23:35:03.832Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["card-payments","flutter","flutterwave"],"created_at":"2025-10-23T02:05:12.547Z","updated_at":"2026-02-22T00:01:24.427Z","avatar_url":"https://github.com/nelsonweze.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nravepay\n\nNravepay is a package that makes accepting card payments in a flutter project easier using [Flutterwave](https://rave.flutterwave.com).\nThis work is motivated and influenced by [rave_flutter](https://pub.dev/packages/rave_flutter)\n\n## Features\n\n* Custom Flutter native UI\n* Save card and pay with token\n* Card payments only\n* Split payments\n\n\n## Initialize at Startup\n\n```dart\n   void main(){\n      NRavePayRepository.setup(Setup(\n      publicKey: PaymentKeys.publicKey,\n      encryptionKey: PaymentKeys.encryptionKey,\n      secKey: PaymentKeys.secretKey,\n      staging: true,\n      version: Version.v3,\n      allowSaveCard: true,\n      logging: true))\n        ...//other codes\n   }\n```\n## Usage\n```dart\n     var initializer = PayInitializer(\n        amount: 450,\n        email: 'email@email.com',\n        txRef: 'TXREF-${DateTime.now().microsecondsSinceEpoch}',\n        narration: 'New payment',\n        country: 'NG',\n        currency: 'NGN',\n        firstname: 'Nelson',\n        lastname: 'Eze',\n        phoneNumber: '09092343432',\n        metadata: {'paymentType': 'card', 'platform': 'android'},\n        onComplete: (result) {\n          if (result.status == HttpStatus.success) {\n            if (result.card != null) {\n              print(result.card);\n              //  saveCard(card);\n            }\n          }\n          print(result.message);\n        });\n    return PayManager().prompt(context: context, initializer: initializer);\n  }\n  \n```\n## Customization\n\nYou can customize all the texts in this package. This is particulary useful when your app supports more than one language.\n\nTo customize texts include override using the setup function\n\n```dart\nNRavePayRepository.setup(Setup(\n      // other params\n      payText: 'Pay Now',\n      chooseCardHeaderText: 'Payment Cards',\n      addCardHeaderText: 'Add Card',\n      addNewCardText: 'Add New Card',   \n      strings: Strings().copyWith()))\n```\n\nTo customize the pay button you can include a custom buttonBuilder in the payment Initializer\n\n```dart\nvar initializer = PayInitializer(\n  //..other params,\n  buttonBuilder: (amout, onPress) {\n          return TextButton(\n            child: Text(amout.toString()),\n            onPressed: onPress,\n          );\n        }),\n```\n\n### Services\nThis package also exposes some useful methods incase you want to call\nthem somewhere else.\n\nYou can access any method in the TransactionService, HttpService and BankService\n\nFor example, to perform a charge request using a Payload object;\n\n```dart\nvar payload = Payload(...)\nChargeResponse response = await TransactionService.instance.charge(payload)\n```\n\nFor example if you wanted to get the list of banks supported\n\n```dart\n var banks = await BankService.instance.fetchBanks\n```\nIn the case that you want to perform a custom method operation you can make use of the HttpService.\n\n\nHere is an example that verifies if an account number is correct\n\n```dart\n Future\u003cdynamic\u003e verifyAccount(String acctNo, String bankCode) async {\n    var data = {\n      'recipientaccount': acctNo,\n      'destbankcode': bankCode,\n      'PBFPubKey': Setup.instance.publicKey\n    };\n    try {\n      final res = await HttpService()\n          .dio\n          .post('/flwv3-pug/getpaidx/api/resolve_account', data: data);\n      if (res.statusCode == 200) {\n        print(res.data);\n      }\n    } catch (e) {\n      print(e);\n    }\n  }\n```\n\n\n\n## Screenshots\n\n\u003cp\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/nelstein/nravepay/main/screenshots/home_page.png\" width=\"200px\" height=\"auto\" hspace=\"20\"/\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/nelstein/nravepay/main/screenshots/processing.png\" width=\"200px\" height=\"auto\" hspace=\"20\"/\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/nelstein/nravepay/main/screenshots/enter_pin.png\" width=\"200px\" height=\"auto\" hspace=\"20\"/\u003e\n\u003c/p\u003e\n\n\u003cp\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/nelstein/nravepay/main/screenshots/enter_otp.png\" width=\"200px\" height=\"auto\" hspace=\"20\"/\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/nelstein/nravepay/main/screenshots/enter_address.png\" width=\"200px\" height=\"auto\" hspace=\"20\"/\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/nelstein/nravepay/main/screenshots/card_list.png\" width=\"200px\" height=\"auto\" hspace=\"20\"/\u003e\n\u003c/p\u003e\n\n\n## Bugs/Requests\n\nIf you encounter any problems feel free to open an [issue](https://github.com/nelstein/nravepay/issues)  feature suggestions and Pull requests are also welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnelsonweze%2Fnravepay","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnelsonweze%2Fnravepay","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnelsonweze%2Fnravepay/lists"}