unicodeveloper/laravel-paystack
A Laravel package for integrating Paystack payments with minimal setup. Accept payments, verify transactions, and manage customers and subscriptions through a clean, expressive API. Supports recurring billing and webhooks.
channels option on transaction initialize lets product decide which payment methods to expose per market or per user segment (card vs. bank transfer vs. USSD). This is a real lever on both conversion and effective transaction fees — worth an experiment rather than a permanent hardcoded config.createCustomer() accepting a full data payload means richer customer records (metadata, phone, custom fields) at creation time — supports segmentation, dedupe, and saved-customer flows without a follow-up update call.Adopt when: the product is a Laravel application; revenue flows through Paystack-supported African markets; the team is small and time-to-first-transaction matters; the payment surface is straightforward (one-time charges, basic plans, simple refunds); and the team accepts a community-maintained dependency with no vendor SLA.
Look elsewhere when: you need a single abstraction across multiple gateways (build an internal adapter interface and treat this as one driver); you need negotiated enterprise support, uptime commitments, or a security review trail; your billing model is complex (usage-based, proration, dunning, tax) and you'd be reimplementing a billing engine on raw endpoints; or your markets are outside Paystack's coverage.
Also treat this as a pinned dependency with an owner. It is community-maintained with a small contributor base and no formal compatibility guarantee — track release cadence, keep the version locked, and budget a periodic "is this still maintained?" check rather than assuming it.
To executives: This release makes our existing Paystack integration current with the framework version we're targeting, and adds two capabilities we were going to have to build around — the ability to list supported banks and verify a bank account's registered name. That directly unlocks seller/vendor payout onboarding, which is a revenue-enabling feature, not infrastructure hygiene. Cost is near zero: it's an upgrade to a dependency we already carry.
To engineering: Version 1.2.0 is additive — Laravel 11 support, an optional data payload on customer creation, bank list and account-resolution endpoints, and a channels field on transaction initialize. No breaking changes called out. Validate against our Laravel version in staging, pin the tag, and confirm the account-resolution endpoint is used server-side only (it is a lookup, not an authorization). Note the package remains thin: webhook signature verification, idempotency keys, and reconciliation are still ours to own, and the new endpoints expand our surface area for error handling.
Risk to state plainly: community-maintained, four first-time contributors in this release, no formal support contract. Acceptable for our stage; revisit if payment volume makes an outage or an unmaintained dependency a material business risk.
How can I help you explore Laravel packages today?