PHPackages                             qnox/qnox\_flutterwave - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. qnox/qnox\_flutterwave

ActiveLibrary[API Development](/categories/api)

qnox/qnox\_flutterwave
======================

Flutterwave V4 Api Integration

v1.0.2(4mo ago)011MITPHPPHP ^8.2

Since Dec 23Pushed 4mo agoCompare

[ Source](https://github.com/laurenttandika/qnox_flutterwave)[ Packagist](https://packagist.org/packages/qnox/qnox_flutterwave)[ RSS](/packages/qnox-qnox-flutterwave/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (2)Versions (5)Used By (0)

Qnox Flutterwave (V4) PHP SDK
=============================

[](#qnox-flutterwave-v4-php-sdk)

Packagist-friendly SDK that wraps the Flutterwave v4 APIs for PHP and Laravel projects. Class/file names are prefixed with `Qnox` to avoid collisions with other packages.

Requirements
------------

[](#requirements)

- PHP 8.2+
- Laravel 8–12 (optional; for auto-discovery)
- `guzzlehttp/guzzle` ^7.7

Installation
------------

[](#installation)

```
composer require qnox/qnox_flutterwave:^1.0.0
```

Laravel integration
-------------------

[](#laravel-integration)

- Auto-discovered provider: `Qnox\QnoxFlutterwave\QnoxFlutterwaveServiceProvider`.
- Facade alias: `QnoxFlutterwave` → `Qnox\QnoxFlutterwave\Facades\QnoxFlutterwave`.
- Publish config (optional): `php artisan vendor:publish --tag=qnox-flutterwave-config`.

Configuration
-------------

[](#configuration)

Environment keys (defaults target the Flutterwave sandbox):

```
FLW_CLIENT_ID=your-client-id #from flutterwave
FLW_CLIENT_SECRET=your-client-secret #from flutterwave
FLW_ENCRYPTION_KEY=your-base64-aes-key   # used for card field encryption from flutterwave
FLW_SECRET_HASH=your-webhook-secret-hash # for signature checks
FLW_MODE=sandbox  # or live; URLs are handled internally

```

Usage
-----

[](#usage)

```
use Qnox\QnoxFlutterwave\Facades\QnoxFlutterwave;

// Get OAuth token (auto-cached)
$token = QnoxFlutterwave::getAccessToken();
$accessToken = $token['access_token'];

// Create or search a customer
$customer = QnoxFlutterwave::createCustomer($accessToken, 'user@example.com');

// Create a mobile-money payment method
$method = QnoxFlutterwave::createMobilePaymentMethod($accessToken, [
    'mobile_money' => ['network' => 'AIRTEL', 'country_code' => 255, 'phone_number' => '713380217'],
    'type' => 'mobile_money',
    'customer_id' => $customer['data']['id'],
]);

// Charge the customer
$charge = QnoxFlutterwave::createCharge($accessToken, [
    'currency' => 'TZS',
    'recurring' => false,
    'amount' => 2000,
    'reference' => 'ref-' . time(),
    'customer_id' => $customer['data']['id'],
    'payment_method_id' => $method['data']['id'],
    'redirect_url' => 'https://example.com/redirect',
]);

// Continue a charge when Flutterwave asks for more input (e.g., OTP)
$updatedCharge = QnoxFlutterwave::updateCharge($accessToken, $charge['data']['id'], [
    // Provide the fields indicated in the charge's next_action response
    'otp' => '123456',
    // 'action' => 'resend_otp', // other keys vary by flow; see Flutterwave docs
]);
```

### Card encryption helper

[](#card-encryption-helper)

```
$nonce = QnoxFlutterwave::generateNonce(); // e.g. 12 chars
$encryptedNumber = QnoxFlutterwave::encryptGCMField($cardNumber, $nonce, env('FLW_ENCRYPTION_KEY'));
```

### Webhook verification

[](#webhook-verification)

```
$isValid = QnoxFlutterwave::verifyWebhookSignature(
    request()->header('flutterwave-signature'),
    request()->getContent()
);
abort_unless($isValid, 401);
```

Roadmap
-------

[](#roadmap)

- Add higher-level DTOs and validation around request payloads.
- Expand coverage beyond customers/payment methods/charges (transfers, settlements, virtual accounts).
- More Laravel niceties: middleware for webhook verification and test fakes.

Contributing
------------

[](#contributing)

Issues and PRs are welcome. Please describe the endpoint/flow you’re targeting and link the relevant Flutterwave docs.

License
-------

[](#license)

MIT

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance75

Regular maintenance activity

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~2 days

Total

4

Last Release

139d ago

PHP version history (2 changes)v1.0.0-betaPHP ^8.1

v1.0.0PHP ^8.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/d8878e5a2c7ced06dd74d1e9245de864662a88fd9012ba4de29ed95da7241db2?d=identicon)[laurenttandika](/maintainers/laurenttandika)

---

Top Contributors

[![laurenttandika](https://avatars.githubusercontent.com/u/114920778?v=4)](https://github.com/laurenttandika "laurenttandika (14 commits)")

### Embed Badge

![Health badge](/badges/qnox-qnox-flutterwave/health.svg)

```
[![Health](https://phpackages.com/badges/qnox-qnox-flutterwave/health.svg)](https://phpackages.com/packages/qnox-qnox-flutterwave)
```

###  Alternatives

[skagarwal/google-places-api

Google Places Api

1913.0M8](/packages/skagarwal-google-places-api)[dcblogdev/laravel-microsoft-graph

A Laravel Microsoft Graph API (Office365) package

168285.5k1](/packages/dcblogdev-laravel-microsoft-graph)[vluzrmos/slack-api

Wrapper for Slack.com WEB API.

102589.1k3](/packages/vluzrmos-slack-api)[smodav/mpesa

M-Pesa API implementation

16363.7k1](/packages/smodav-mpesa)[jasara/php-amzn-selling-partner-api

A fluent interface for Amazon's Selling Partner API in PHP

1344.8k1](/packages/jasara-php-amzn-selling-partner-api)[grantholle/powerschool-api

A Laravel package to make interacting with PowerSchool less painful.

1715.6k1](/packages/grantholle-powerschool-api)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
