Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Pesa Laravel Package

openpesa/laravel-pesa

Simplify mobile money payments in Laravel with openpesa/laravel-pesa. Configure API credentials, send payment requests, check transaction status, and process callbacks for Tanzanian payment providers through one clean package interface.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

The package is a Laravel-oriented mobile-money/payment integration library (openpesa/laravel-pesa). Architecturally it is likely a good fit where a Laravel application needs to call Pesa/M-Pesa-style payment APIs through Composer-managed code, configuration, and Laravel service-container patterns. However, the available evidence is limited to release notes; there is no prior assessment or independent code review to confirm API coverage, security posture, or production readiness.

Integration feasibility is improved by the stated Laravel 9 and PHP 8.1 support, updated demo examples, and modern CI tooling (Pest, PHPStan, PHP CS Fixer, GitHub Actions). These are positive signals for maintainability and baseline quality. The release also removes a command, which may be a breaking change for teams that relied on it, despite being published in the 1.x line.

Technical risk is moderate-to-high because this is payment infrastructure: correctness, idempotency, webhook handling, credential security, retry behavior, and provider sandbox coverage matter more than framework compatibility. Release metadata is inconsistent: the notes are labeled v1.0.2, while the changelog compares v1.0.0...v1.0.1. That should be resolved before relying on version pinning.

Key questions:

  • What exact Laravel/PHP versions are supported, and are older Laravel versions still maintained?
  • Which payment providers, APIs, and transaction flows are covered?
  • Does the package support idempotency keys, callback verification, retries, and reconciliation?
  • What was removed with the command removal, and is it a breaking change?
  • What is the package’s license, maintainer activity, security disclosure process, and release cadence?
  • Are sandbox credentials and realistic test examples available?

Integration Approach

Stack fit is strongest for Laravel applications on PHP 8.1+ and Laravel 9, especially where the team already uses Composer, Laravel config/env management, queues, and HTTP clients. The package should be treated as an infrastructure adapter, not as the domain model for payments. Wrap it behind an internal payment-gateway interface so provider-specific calls, status mapping, and callback handling remain replaceable.

Migration path: start with a non-production pilot using sandbox credentials, pin an exact Composer version, and verify the demo repository against the target Laravel version. If the removed command affects existing scripts, replace it with application-owned Artisan commands or scheduled jobs before upgrading. Confirm whether the v1.0.2 tag and changelog align, then pin the verified tag.

Compatibility: validate the package constraints against the host application’s PHP, Laravel, database, queue, and HTTP client versions. Pay special attention to Laravel 9/PHP 8.1 support claims, since payment callbacks and queued jobs may depend on framework-specific behavior.

Sequencing:

  1. Review package source, license, and open issues.
  2. Run the updated examples in a sandbox.
  3. Implement a thin internal adapter and configuration boundary.
  4. Add callback/webhook endpoints with signature or source verification where supported.
  5. Add reconciliation and audit logging before production.
  6. Canary a low-value production flow, then expand.

Operational Impact

Maintenance depends on upstream maintainer activity and the package’s release discipline. The addition of PHPStan, Pest, CS Fixer, and GitHub Actions is positive, but the version/changelog mismatch and command removal indicate release hygiene needs verification. Teams should expect to own adapter code, monitoring, and provider-specific operational runbooks even if the package is healthy.

Support is likely community-driven unless a commercial support arrangement exists. Scaling is primarily constrained by the payment provider’s rate limits, latency, and availability rather than by Laravel itself; outbound payment calls should be queued, timed out, retried with backoff, and reconciled asynchronously. Avoid synchronous payment calls in user-facing request paths where possible.

Failure modes to plan for: provider downtime, timeout/ambiguous transaction state, duplicate callbacks, expired credentials, sandbox/production configuration drift, unverified webhook payloads, and upstream package abandonment or PHP/Laravel end-of-life drift. The removed command is also a migration failure mode for existing automation.

Ramp-up for a Laravel developer should be moderate: Composer installation and Laravel configuration are familiar, but payment operations require additional provider documentation, sandbox testing, callback handling, reconciliation, and incident procedures. A TPM should budget time for payment-ops validation, not just package installation.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
cgv/localized-resource