Download the PHP package faridibin/paystack-laravel without Composer
On this page you can find all versions of the php package faridibin/paystack-laravel. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download faridibin/paystack-laravel
More information about faridibin/paystack-laravel
Files in faridibin/paystack-laravel
Package paystack-laravel
Short Description A Laravel wrapper for faridibin/paystack-php with first-class Laravel features including facades, config files, database migrations, and webhook handling. Provides seamless integration of Paystack payment processing in Laravel applications.
License MIT
Informations about the package paystack-laravel
Paystack Laravel
A Laravel wrapper for faridibin/paystack-php with service provider, facade, webhook handling, and event dispatching.
Requirements
- PHP 8.2+
- Laravel 11+
Installation
The service provider is auto-discovered — no manual registration needed.
Publish Configuration
This creates config/paystack.php in your application.
Environment Variables
Add your Paystack secret key to .env:
Usage
Facade
Available Services
Commerce
| Facade call | Service |
|---|---|
Paystack::products() |
Products |
Paystack::paymentPages() |
Payment Pages |
Payments
| Facade call | Service |
|---|---|
Paystack::transactions() |
Transactions |
Paystack::splits() |
Transaction Splits |
Paystack::customers() |
Customers |
Paystack::charge() |
Charge |
Paystack::bulkCharges() |
Bulk Charges |
Paystack::refunds() |
Refunds |
Paystack::subaccounts() |
Subaccounts |
Paystack::disputes() |
Disputes |
Paystack::settlements() |
Settlements |
Paystack::paymentRequests() |
Payment Requests |
Paystack::dedicatedAccount() |
Dedicated Accounts |
Paystack::terminal() |
Terminal |
Paystack::applepay() |
Apple Pay |
Recurring
| Facade call | Service |
|---|---|
Paystack::plans() |
Plans |
Paystack::subscriptions() |
Subscriptions |
Transfers
| Facade call | Service |
|---|---|
Paystack::transfers() |
Transfers |
Paystack::recipients() |
Transfer Recipients |
Paystack::control() |
Transfer Control |
Other
| Facade call | Service |
|---|---|
Paystack::integration() |
Integration |
Paystack::verification() |
Verification |
Paystack::miscellaneous() |
Miscellaneous |
Paystack::balance() |
Balance |
Paystack::directDebit() |
Direct Debit |
Paystack::virtualTerminal() |
Virtual Terminal |
Paystack::storefront() |
Storefront |
Paystack::order() |
Order |
Service Configuration
Enable only the services you need in config/paystack.php:
Calling a group method with no arguments enables all services in that group:
Webhook Handling
Endpoint
The package registers a webhook route automatically:
Incoming requests are validated against the X-Paystack-Signature header and the caller's IP address (Paystack's published IP whitelist) before any event is dispatched.
Events
Every valid webhook dispatches WebhookReceived. If a specific handler exists on the controller, WebhookHandled is also dispatched after it runs.
Specific webhook events
The package ships a dedicated event class for every Paystack webhook type:
| Event class | Paystack event |
|---|---|
ChargeSuccessEvent |
charge.success |
ChargeDisputeCreatedEvent |
charge.dispute.create |
ChargeDisputeRemindEvent |
charge.dispute.remind |
ChargeDisputeResolvedEvent |
charge.dispute.resolve |
TransferSucceededEvent |
transfer.success |
TransferFailedEvent |
transfer.failed |
TransferReversedEvent |
transfer.reversed |
SubscriptionCreatedEvent |
subscription.create |
SubscriptionDisabledEvent |
subscription.disable |
SubscriptionNotRenewedEvent |
subscription.not_renew |
SubscriptionExpiringCardsEvent |
subscription.expiring_cards |
InvoiceCreatedEvent |
invoice.create |
InvoiceUpdateEvent |
invoice.update |
InvoicePaymentFailedEvent |
invoice.payment_failed |
PaymentrequestPendingEvent |
paymentrequest.pending |
PaymentrequestSucceededEvent |
paymentrequest.success |
RefundProcessedEvent |
refund.processed |
RefundPendingEvent |
refund.pending |
RefundFailedEvent |
refund.failed |
RefundProcessingEvent |
refund.processing |
CustomeridentificationSuccessEvent |
customeridentification.success |
CustomeridentificationFailedEvent |
customeridentification.failed |
DedicatedaccountAssignSuccessEvent |
dedicatedaccount.assign.success |
DedicatedaccountAssignFailedEvent |
dedicatedaccount.assign.failed |
Custom webhook handling
Extend the webhook controller and add on<EventName> methods. The method name is derived by converting the Paystack event to camel case (e.g. charge.success → onChargeSuccess):
Then register the route pointing to your controller in your application's routes/web.php:
Routes
| Method | URI | Name |
|---|---|---|
GET |
/paystack/transaction/{id} |
paystack.transaction.fetch |
POST |
/paystack/webhook |
paystack.webhook.handle |
Disable all routes:
Testing
License
MIT
All versions of paystack-laravel with dependencies
faridibin/paystack-php Version ^0.3.0
illuminate/support Version ^11.0|^12.0