netbull/mpay24-bundle
Symfony bundle for integrating the mPAY24 payment gateway, helping you add mPAY24 payment processing to your Symfony application through a configurable service-based setup.
Architecture fit. The triage label is wrong in a decision-relevant way: this is a Symfony bundle, not a Laravel package. It plugs into Symfony's DI extension and configuration tree, and its entire value proposition is framework plumbing — binding merchant credentials to a configured client service and exposing it for injection. On a Laravel stack it has no architecture fit at all; bridging would mean running a Symfony container inside Laravel for no gain. That single fact reframes the evaluation: the real artifact under consideration is the underlying mpay24/mpay24-php SDK, and this bundle is an optional convenience wrapper around it. Any TPM assessment should be written against the SDK and the Mpay24 commercial relationship, with the bundle as a footnote.
Integration feasibility. Technically trivial to attempt, and that's the trap. A thin wrapper can be installed and wired in days. But the bundle eliminates almost none of the actual work: merchant onboarding, KYC, sandbox credentials, settlement configuration, notification endpoint, reconciliation, and refund/dispute handling are all outside its scope. The genuine integration effort sits with the PSP, not the package. Feasibility of adopting this package specifically is low, because it is trivially replaceable and the replacement (direct SDK use behind an internal interface) removes the maintenance question entirely.
Technical risk. Dominated by adoption and lifecycle signals rather than code quality (which we cannot assess from the outside):
Key questions.
composer.json constraints allow, and what is the last commit and release date?Stack fit. On Symfony: the bundle is a candidate as a starting reference, not a dependency of record. Vendor or fork it, or skip it and depend on the Mpay24 SDK directly behind an internal PaymentGateway interface (authorize, capture, refund, status, handleNotification). On Laravel: do not bridge it. Use the SDK behind the same interface, and read the bundle's source only as documentation of how Mpay24 expects its client to be configured.
Migration path. Greenfield — there is nothing to migrate from unless we already run Mpay24. The path is: define the PSP-agnostic payment abstraction, implement a thin Mpay24 adapter inside it, and keep all Mpay24-specific types out of checkout, orders, and finance code. This costs roughly one extra sprint of design and buys the ability to swap PSPs without touching business logic — the cheapest insurance available given the ecosystem fragility here.
Compatibility. Verify explicitly before committing engineering time: Composer constraints against our PHP and Symfony/Laravel versions; autoloadability under our current autoloader; and whether the pinned SDK version still works against Mpay24's live sandbox. Legacy SOAP-era SDKs break silently against updated endpoints, so run an end-to-end sandbox payment in a disposable environment as the first gate, not the last.
Sequencing.
Maintenance. Assume unmaintained. Budget for vendoring or an org-owned fork plus a quarterly review against framework and PHP upgrades. Code cost is small, attention cost is real: security advisories on the transitive SDK and Mpay24 API deprecations both land on us. Total cost of ownership is dominated by the SDK and the PSP relationship — the bundle is not where the effort goes, which is precisely why it should not be a dependency of record.
Support. No vendor support, no SLA, no community to escalate through. Internal escalation is "read the source" and "read the SDK." Mpay24 merchant support is a separate contract and must be confirmed during procurement — if we are moving real money, we need a named PSP contact, not a GitHub issue queue.
Scaling. Volume is not the constraint; the wrapper is a stateless client and scales with the application. The scaling concerns are operational: outbound timeouts and connection handling to the PSP, avoiding blocked PHP workers on slow gateway responses, decoupling notification processing from the request cycle, and database-level idempotency to prevent duplicate captures under retry.
Failure modes.
Ramp-up. Engineer ramp-up on the bundle itself is hours — it is a small wrapper. The real ramp is domain knowledge: Mpay24's status model, settlement and payout cycles, chargeback handling, and the payment-method matrix for target countries. Assign one engineer to own payments end-to-end rather than spreading the knowledge thinly; payment integrations fail in the seams between checkout, orders, and finance.
Bottom line for the roadmap. The adoption metrics are a red flag, and the framework mismatch makes this package unusable on Laravel and merely convenient on Symfony. Recommend evaluating Mpay24 as a PSP on commercial grounds, and if it clears, integrating the SDK through our own gateway abstraction rather than adopting this bundle.
How can I help you explore Laravel packages today?