PHPackages                             turndale/paystack - 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. turndale/paystack

ActiveLibrary[Payment Processing](/categories/payments)

turndale/paystack
=================

A Laravel Package for Paystack payment integration for laravel 11 and above

v1.2.2(3mo ago)044MITPHPPHP ^8.1|^8.2|^8.3

Since Jan 22Pushed 3mo agoCompare

[ Source](https://github.com/turndale/paystack)[ Packagist](https://packagist.org/packages/turndale/paystack)[ Docs](https://paystack.stephenasare.dev/)[ RSS](/packages/turndale-paystack/feed)WikiDiscussions 1.x Synced 1mo ago

READMEChangelogDependencies (4)Versions (3)Used By (0)

Laravel Paystack
================

[](#laravel-paystack)

A robust, Cashier-like Paystack integration package for Laravel 11+. This package provides an expressive, fluent interface to Paystack's subscription billing services, handling boilerplate subscription code so you can focus on building your application.

[![Latest Version on Packagist](https://camo.githubusercontent.com/2d3fa9ce9f47d1ed3306d31d459ae45ac17a939fbb46499f6edadb230e2639fd/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7475726e64616c652f706179737461636b2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/turndale/paystack)[![Total Downloads](https://camo.githubusercontent.com/7147694b5eb6ec9150b76035533beb1acef32aff86259f497e977e1a4aa2aeee/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7475726e64616c652f706179737461636b2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/turndale/paystack)[![License](https://camo.githubusercontent.com/321addfaa65dd0887fe6d52a2adece7b167e91402a83f0eb6003bc468c12d039/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f7475726e64616c652f706179737461636b2e7376673f7374796c653d666c61742d737175617265266b696c6c5f63616368653d31)](https://packagist.org/packages/turndale/paystack)

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

[](#documentation)

For full documentation, usage guides, and API reference, please visit:

**[](https://paystack.stephenasare.dev/)**

---

Features
--------

[](#features)

- **Complete API Wrapper**: Fluent interface for all Paystack API resources (Transactions, Subscriptions, Customers, etc.).
- **Webhooks**: Automatic handling of Paystack webhooks with event dispatching.
- **Type Safety**: Fully typed responses and resources.
- **Testing**: Fully tested with PHPUnit and Orchestra Testbench.

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

[](#requirements)

- PHP 8.2+
- Laravel 11.0+

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

[](#installation)

You can install the package via composer:

```
composer require turndale/paystack
```

After installing, publish the configuration file:

```
php artisan vendor:publish --tag=paystack-config
```

Add your Paystack keys to your `.env` file:

```
PAYSTACK_PUBLIC_KEY=pk_test_xxxx
PAYSTACK_SECRET_KEY=sk_test_xxxx
PAYSTACK_PAYMENT_URL=https://api.paystack.co
```

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

[](#quick-start)

### 1. Use the Facade

[](#1-use-the-facade)

You can access any Paystack resource using the `Paystack` facade.

```
use Turndale\Paystack\Facades\Paystack;

// Initialize a transaction
$response = Paystack::transaction()->initialize([
    'email' => 'customer@email.com',
    'amount' => 5000 // NGN 50.00
]);

return redirect($response['data']['authorization_url']);
```

### 2. Manage Subscriptions

[](#2-manage-subscriptions)

```
// Create a subscription
Paystack::subscription()->create([
    'customer' => 'CUS_xxxx',
    'plan' => 'PLN_xxxx'
]);
```

### 3. Transaction Splits

[](#3-transaction-splits)

```
// Create a split
Paystack::transactionSplit()->create([
    'name' => 'Percentage Split',
    'type' => 'percentage',
    'currency' => 'NGN',
    'subaccounts' => [
        ['subaccount' => 'ACCT_xxxx', 'share' => 20]
    ]
]);
```

Webhooks
--------

[](#webhooks)

The package automatically handles Paystack webhooks for you. Just set up your webhook URL in the Paystack Dashboard to point to:

`https://your-domain.com/paystack/webhook`

You can listen to events in your application:

```
use Turndale\Paystack\Events\PaymentSuccess;

Event::listen(PaymentSuccess::class, function ($event) {
    // Handle successful payment...
});
```

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

[](#contributing)

Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details.

Credits
-------

[](#credits)

- [Stephen Asare](https://github.com/stephenasare)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

MIT

Support
-------

[](#support)

If you find this package helpful, please consider:

- Starring the repository on [GitHub](https://github.com/turndale/paystack)
- Following me on [Twitter/X](https://x.com/stephenasare1)

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance79

Regular maintenance activity

Popularity9

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

Total

3

Last Release

111d ago

### Community

Maintainers

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

---

Top Contributors

[![hellofromsteve](https://avatars.githubusercontent.com/u/131690895?v=4)](https://github.com/hellofromsteve "hellofromsteve (36 commits)")

---

Tags

discussionsissue-trackingafrica-payment paystackghana-payment-laravelpaystack-nigeria-laravelopen-source paystackcontributions paystackpaystack laravel package

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/turndale-paystack/health.svg)

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

###  Alternatives

[laraveldaily/laravel-invoices

Missing invoices for Laravel

1.5k1.3M4](/packages/laraveldaily-laravel-invoices)[musahmusah/laravel-multipayment-gateways

A Laravel Package that makes implementation of multiple payment Gateways endpoints and webhooks seamless

852.2k1](/packages/musahmusah-laravel-multipayment-gateways)[aedart/athenaeum

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

245.2k](/packages/aedart-athenaeum)[asciisd/knet

Knet package is provides an expressive, fluent interface to KNet's payment services.

141.1k](/packages/asciisd-knet)

PHPackages © 2026

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