PHPackages                             kendenigerian/payzephyr - 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. [Payment Processing](/categories/payments)
4. /
5. kendenigerian/payzephyr

ActiveLibrary[Payment Processing](/categories/payments)

kendenigerian/payzephyr
=======================

A unified payment abstraction layer for Laravel supporting multiple providers (Paystack, Flutterwave, Monnify, Stripe, PayPal, Square, OPay, Mollie) with automatic fallback and webhooks.

v2.0.0(2w ago)8312MITPHPPHP ^8.2CI passing

Since Dec 6Pushed 2w agoCompare

[ Source](https://github.com/ken-de-nigerian/payzephyr)[ Packagist](https://packagist.org/packages/kendenigerian/payzephyr)[ Docs](https://github.com/ken-de-nigerian/payzephyr)[ RSS](/packages/kendenigerian-payzephyr/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (10)Dependencies (22)Versions (33)Used By (0)

PayZephyr
=========

[](#payzephyr)

[![Latest Version on Packagist](https://camo.githubusercontent.com/9858dd1a8bf7c0ed60dd2ec5d6d6d809df42a2c639fd9ae01af0ccc82de570a1/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6b656e64656e6967657269616e2f7061797a65706879722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/kendenigerian/payzephyr)[![Total Downloads](https://camo.githubusercontent.com/1a178dd54dcdba9929034fc24f0901bd8b5ea446d3552cb28de96dab3419a005/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6b656e64656e6967657269616e2f7061797a65706879722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/kendenigerian/payzephyr)[![Tests](https://github.com/ken-de-nigerian/payzephyr/actions/workflows/tests.yml/badge.svg)](https://github.com/ken-de-nigerian/payzephyr/actions/workflows/tests.yml)[![License](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](LICENSE)

What is PayZephyr?
------------------

[](#what-is-payzephyr)

If you've ever had to accept payments in a Laravel app, you've probably run into this problem: every payment provider (Stripe, PayPal, Paystack, and the rest) has its own SDK, its own way of creating a charge, its own webhook format, and its own quirks. Wire your app up to one provider, and you're locked into rewriting a chunk of it if you ever need to add a second, or switch.

PayZephyr solves that by giving you **one API that works the same way no matter which provider is behind it.** You write:

```
Payment::amount(100.00)->email('customer@example.com')->redirect();
```

and PayZephyr handles the fact that, underneath, this might be talking to Paystack today and Stripe tomorrow. You don't write provider-specific code, and you don't have to think about it again until you actually need to: for example, if a provider goes down and you want to fail over to another one automatically, which PayZephyr also does for you.

**Currently supported providers:** Paystack, Stripe, PayPal, Flutterwave, Square, Monnify, OPay, and Mollie.

Is this for you?
----------------

[](#is-this-for-you)

PayZephyr is a good fit if:

- You're building a Laravel app that needs to accept one-time payments, recurring subscriptions, or both.
- You want to support more than one payment provider (or might in the future) without duplicating your checkout logic.
- You want webhook signature verification, replay-attack protection, and transaction logging handled for you instead of hand-rolled per provider.

It's **not** trying to be a full accounting or invoicing system; it's a payment abstraction layer. If you need refund processing today, that's not built in yet (see the [FAQ](docs/faq.md)).

How it fits together
--------------------

[](#how-it-fits-together)

 ```
flowchart LR
    A[Your Controller] -->|Payment::amount...->redirect| B[PayZephyr]
    B --> C{Which provider?}
    C -->|paystack| D[Paystack API]
    C -->|stripe| E[Stripe API]
    C -->|"...or any of the 8"| F[...]
    D & E & F --> G[Customer pays on\nthe provider's page]
    G --> H[Provider redirects back\nto your callback URL]
    G -.->|webhook, in parallel| I[Your queue worker]
    H --> J[Payment::verify]
    I --> K[WebhookReceived event]
```

      Loading Two things happen when a customer pays: they get redirected back to your app (so you can show a "thank you" page), *and* the provider sends your app a webhook in the background (so your database stays correct even if the customer closes their browser before the redirect completes). PayZephyr handles both paths: the [Understanding Payment Flow](docs/payment-flow.md) chapter walks through exactly what happens at each step.

Quick Start
-----------

[](#quick-start)

This gets you from zero to a working payment in about five minutes. For the full walkthrough with explanations of *why* each step matters, see [Your First Payment](docs/first-payment.md).

**1. Install the package and run the setup command:**

```
composer require kendenigerian/payzephyr
php artisan payzephyr:install
```

`payzephyr:install` copies PayZephyr's configuration file into your app (so you can edit it), copies the database migrations it needs (for transaction logging), and offers to run them for you. See [Installation](docs/installation.md) if you'd rather do each step by hand.

**2. Add your provider's credentials to `.env`.** Paystack is enabled by default. Grab your test keys from your Paystack dashboard:

```
PAYSTACK_SECRET_KEY=sk_test_xxxxx
PAYSTACK_PUBLIC_KEY=pk_test_xxxxx
PAYSTACK_ENABLED=true
```

**3. Start a payment:**

```
use KenDeNigerian\PayZephyr\Facades\Payment;

Route::get('/checkout', function () {
    return Payment::amount(500.00)
        ->email('customer@example.com')
        ->callback(route('payment.callback'))
        ->redirect();
});
```

**4. Verify it when the customer comes back:**

```
use KenDeNigerian\PayZephyr\Facades\Payment;

Route::get('/payment/callback', function (\Illuminate\Http\Request $request) {
    $verification = Payment::verify($request->query('reference'));

    if ($verification->isSuccessful()) {
        return 'Payment succeeded! Reference: '.$verification->reference;
    }

    return 'Payment did not go through.';
})->name('payment.callback');
```

That's a working payment flow. It's also incomplete on its own: webhooks are what make it *reliable* (a customer closing their browser tab shouldn't mean you never find out they paid). Read on.

Documentation
-------------

[](#documentation)

The chapters below are written to be read roughly in order if you're new to PayZephyr; each one builds on the last. If you already know what you're looking for, jump straight there.

**Getting started**

1. [Installation](docs/installation.md): every way to install PayZephyr, explained
2. [Configuration](docs/configuration.md): what every config option does and when to change it
3. [Your First Payment](docs/first-payment.md): a complete, working example built step by step
4. [Understanding Payment Flow](docs/payment-flow.md): what actually happens between "customer clicks pay" and "money in your account"
5. [Payment Verification](docs/verification.md): confirming a payment actually succeeded, correctly

**Core features**

6. [Subscriptions](docs/subscriptions.md): recurring billing, supported on 6 of the 8 providers
7. [Webhooks](docs/webhooks.md): why they exist and how to handle them
8. [Events](docs/events.md): every event PayZephyr fires and how to listen for it
9. [Testing](docs/testing.md): testing code that charges money, without charging money
10. [Error Handling](docs/error-handling.md): what can go wrong and how PayZephyr tells you
11. [Security](docs/security.md): webhook verification, replay protection, and what PayZephyr does *not* protect you from
12. [Queues](docs/queues.md): why a queue worker is required, not optional

**Going further**

13. [Multiple Providers](docs/providers.md): per-provider setup, currencies, and feature support
14. [Custom Drivers](docs/custom-drivers.md): adding a provider PayZephyr doesn't support yet
15. [Advanced Usage](docs/advanced-usage.md): direct driver access, health checks, idempotency patterns

**Shipping it**

16. [Production Checklist](docs/production-checklist.md): what to double-check before going live
17. [Deployment](docs/deployment.md): migrations, environment variables, monitoring
18. [Upgrade Guide](docs/upgrade-guide.md): moving between major versions

**When things go wrong**

19. [Troubleshooting](docs/troubleshooting.md): common problems, their causes, and their fixes
20. [FAQ](docs/faq.md)

**Reference**

21. [API Reference](docs/api-reference.md): every public method, documented
22. [Architecture](docs/architecture.md): how the package is put together internally
23. [Contributing](docs/contributing.md)

The full table of contents, if you'd rather browse than read linearly, is in [docs/INDEX.md](docs/INDEX.md).

Changelog
---------

[](#changelog)

See [CHANGELOG.md](docs/CHANGELOG.md) for version history. **v2.0.0 contains breaking changes**: read the upgrade notes before updating a production app.

License
-------

[](#license)

MIT. See [LICENSE](LICENSE).

Support
-------

[](#support)

If PayZephyr is useful to you, starring the repository helps other people find it. Contributions (code, documentation, bug reports) are welcome; see [Contributing](docs/contributing.md).

---

**Built for the Laravel community by [Ken De Nigerian](https://github.com/ken-de-nigerian)**

###  Health Score

47

—

FairBetter than 93% of packages

Maintenance96

Actively maintained with recent releases

Popularity15

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity59

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 ~7 days

Recently: every ~57 days

Total

32

Last Release

18d ago

Major Versions

v1.8.0 → v2.0.02026-08-01

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/61892700?v=4)[Nwaneri Chukwunyere Kenneth](/maintainers/ken-de-nigerian)[@ken-de-nigerian](https://github.com/ken-de-nigerian)

---

Top Contributors

[![ken-de-nigerian](https://avatars.githubusercontent.com/u/61892700?v=4)](https://github.com/ken-de-nigerian "ken-de-nigerian (133 commits)")

---

Tags

fintechflutterwavelaravelpaymentpaystacklaravelstripelaravel-packagepaymentpaymentspaypalmolliewebhookpayment gatewayfintechsquarepaystackflutterwavemonnifyopay

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/kendenigerian-payzephyr/health.svg)

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

###  Alternatives

[laravel/cashier

Laravel Cashier provides an expressive, fluent interface to Stripe's subscription billing services.

2.6k31.8M162](/packages/laravel-cashier)[psalm/plugin-laravel

Psalm plugin for Laravel

3345.4M354](/packages/psalm-plugin-laravel)[simplestats-io/laravel-client

Server-side analytics for Laravel that follows the full funnel from visit to registration to payment, attributed to the channel that drove it. Revenue, MRR, churn and ad-spend profit (ROAS/CAC) per channel. GDPR compliant, ad-blocker proof.

5226.7k](/packages/simplestats-io-laravel-client)[api-platform/laravel

API Platform support for Laravel

58190.1k21](/packages/api-platform-laravel)[fleetbase/core-api

Core Framework and Resources for Fleetbase API

1239.7k25](/packages/fleetbase-core-api)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

265.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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