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

Sermepa Omnipay Laravel Package

mendicm/sermepa-omnipay

Omnipay gateway driver for Sermepa (Redsys), the Spanish payment gateway. Adds Sermepa support to PHP and Laravel apps through Omnipay, so you can process card payments, handle redirects, and verify responses using a consistent, framework-agnostic API.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. This package is an Omnipay gateway driver, not a Laravel package. It assumes your application treats Omnipay as the payment abstraction layer: you instantiate a gateway, build a PurchaseRequest, and route the user through Redsys/Sermepa’s redirect or form-post flow. That fits cleanly into a service-oriented Laravel architecture only if you are already (or willing to become) an Omnipay shop. Laravel’s own ecosystem (Cashier, native gateway SDKs) does not use Omnipay, so adoption implies a parallel payment abstraction alongside whatever you already run for Stripe/PayPal/etc. The driver also exposes only what Omnipay models (purchase, authorize, capture, refund), which is generally sufficient for Redsys’ redirect flow but does not address recurring/COF, 3DS2 step-up UX, or partial refund edge cases without custom work.

Integration feasibility. Feasible but non-trivial. You will need (a) Omnipay core, (b) a Laravel↔Omnipay bridge or a hand-rolled container binding, (c) this driver, and (d) your own controller/route to handle Redsys’ notification callback (Ds_MerchantParameters, Ds_Signature) and to render the auto-submitting form. That is roughly 200–400 lines of glue you own and must test — callback signature verification, idempotency on retries, and reconciliation against Redsys’ admin panel. Because Laravel-specific Omnipay bridges are themselves aging (ignited/laravel-omnipay is largely dormant), you will likely end up with a custom service provider rather than a drop-in.

Technical risk. High, and concentrated in three areas. First, maintenance signal: 0 stars, 0 dependents, and a package name referencing “Sermepa,” a brand that has been “Redsys” for roughly a decade, strongly suggests the driver targets the legacy SHA-1 signature scheme rather than Redsys’ current HMAC_SHA256_V1 (with the mandatory parameter-ordering quirks) — a hard blocker for production if true. Second, security ownership: you are trusting an unendorsed, unmaintained package with card-flow signing; a single bug in signature construction or callback validation is a PCI/PSD2 incident. Third, compliance drift: Redsys has moved to SCA/3DS2 under PSD2; a driver that predates that will not expose the challenge flow and may fail for EU cardholders.

Key questions. Is the merchant account on legacy Sermepa or current Redsys, and which API version is configured? Does the driver implement HMAC_SHA256_V1 signing and verify the notification signature (not just the request)? PHP version support and whether it passes on PHP 8.x? Does it expose 3DS2/SCA challenge handling and Ds_Merchant_EMV3DS parameters? Is there any automated test suite, and does it include Redsys sandbox tests? Last commit date and any open security issues? Are refunds, partial refunds, and tokenization supported end-to-end? Who owns the code if it breaks on a Friday night?

Integration Approach

Stack fit. Good only for a PHP 7.4/8.x Laravel app that has deliberately chosen Omnipay as its payment abstraction. Poor fit for a Laravel app already on Cashier, Stripe-native, or a DDD-style payment module. The Redsys redirect flow (server-side form post to the gateway, then a server-to-server notification) maps well to a Laravel controller + queued job pattern, so the runtime shape is fine; it is the abstraction layer choice that is the real decision.

Migration path. Do not adopt this as a greenfield payment layer on its own merits. The pragmatic sequence is: (1) prototype behind an internal RedsysGateway interface so the driver is swappable; (2) evaluate a maintained alternative first — the official Redsys PHP SDK, a maintained Laravel package, or a direct ~300-line client you own; (3) only fall back to this package if the prototype demonstrates SHA-256 signing, callback verification, and 3DS2 against the Redsys sandbox, and if you are prepared to fork and maintain it. If you must migrate off an existing gateway, sequence Redsys behind a feature flag with a per-merchant rollout, not a big-bang cutover.

Compatibility. Verify PHP version constraints against your runtime, Laravel version via your Omnipay bridge, and Omnipay core version (v2 vs v3 have API differences). Guzzle/PHP-HTTP dependency versions must not conflict with your existing HTTP client. Redsys’ own API version and signature algorithm are the compatibility risks that actually matter operationally.

Sequencing. 1) Confirm merchant credentials and API version. 2) Spike the signing/notification round-trip in the Redsys sandbox using the package. 3) Build the Laravel glue (service provider, controller, callback job, reconciliation). 4) Add integration tests against sandbox, including failure/retry paths. 5) Only then consider production, with a fork of the package vendored into your repo if it survives step 2.

Operational Impact

Maintenance. Effectively “you own it.” Zero stars, zero dependents, and a legacy brand name mean no upstream community, no CVE response, and no guarantee of PHP 9 readiness. Budget for a fork pinned in your composer.json and a named owner. Treat every Redsys protocol change (signature algorithm, 3DS2 parameter additions, TLS/certificate rotation) as your ticket to solve.

Support. None from the author in any meaningful sense. Your support path is Redsys’ merchant support plus your own on-call. This is a payment path — the highest-severity category — so the absence of vendor support should be a formal risk acceptance, not a footnote.

Scaling. Not a concern technically: the driver is stateless HTTP around a redirect flow, and throughput is bounded by Redsys, not by this package. The scale problem is operational: webhook volume during peak (e.g., sales events) needs idempotency keys, deduplication, and a queue with retries so duplicate notifications do not double-fulfill orders.

Failure modes. Signature mismatch (silent payment failures or, worse, accepted forged callbacks if verification is weak); stale protocol vs. Redsys’ current endpoint causing rejected transactions; missing 3DS2 causing SCA declines for EU cards; callback timeouts/retries causing duplicate order fulfillment without idempotency; unhandled refund/partial-refund paths leaving finance reconciliation manual. Each needs an explicit control (signature verification tests, sandbox regression suite, reconciliation job against Redsys admin, alerting on decline-rate spikes).

Ramp-up. Moderate-to-high. Engineers must understand both Omnipay’s request/response abstractions and Redsys’ peculiar signing rules (parameter ordering, base64 handling, merchant key derivation). Expect 1–2 engineer-weeks to reach confident sandbox coverage, plus ongoing ownership. Given the adoption signals, the TPM recommendation is to treat this package as a reference implementation to read, not a dependency to ship, unless the sandbox spike disproves the staleness concern.

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.
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log
hsluv/hsluv
seampact/codegen
seampact/hooks
seampact/ir
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table
siberfx/flysystem-wasabi
hollyit/token-replace
ippanelcom/laravel-sdk