kiboko/sylius-payzen-bundle
Kiboko Sylius PayZen Bundle integrates the PayZen (Lyra Collect) payment gateway with Sylius e-commerce stores. It adds a configurable PayZen payment method for secure checkout, letting shop owners manage gateway credentials and payment options directly within Sylius.
Architecture fit. Unchanged. The bundle is a Sylius plugin that plugs into Sylius' native payment abstraction (payment method, payment state machine, gateway config form), which remains the correct extension point: PayZen traffic stays inside Sylius' order/payment lifecycle rather than a parallel integration. The v1.0.3 change touches only the bundle's DI extension class (getAlias signature), i.e. framework plumbing, not the payment flow — no architectural drift. PCI scope should still stay low given a hosted/embedded-form gateway, but confirm the plugin never touches PANs.
Integration feasibility. Materially improved. v1.0.3 explicitly lands Symfony 6 compatibility ("Fix getAlias method signature"), which is a direct, if partial, answer to the previously open support-matrix question: the maintainer is actively tracking Symfony 6, and the fix implies the prior release was not cleanly Symfony 6-compatible (the Extension::getAlias() return-type/signature change is the classic Symfony 6 break). Exact Sylius version, PHP version, and CI matrix remain unverified — this release confirms one axis (Symfony 6) and is silent on the rest. Test coverage and payment feature depth (authorize/capture, refunds, partial refunds, multi-currency, 3-D Secure 2/SCA) are still unverified from release notes alone.
Technical risk. Largely unchanged, with one risk reduced and one nuance added.
getAlias() must re-verify. Treat 1.0.3 as the minimum viable pin, not 1.0.2.NOASSERTION licensing remains a hard legal checkpoint; single-vendor concentration (Kiboko Labs) remains a continuity risk on a money-movement path.@lloubrie), the first signal of outside participation — weak evidence of adoption, not a substitute for it.Key questions.
NOASSERTION still unresolved.)getAlias signature change in 1.0.3 break any extension points we would subclass?Stack fit. Now better grounded: Sylius on Symfony 6 is explicitly targeted as of 1.0.3. Symfony 5 and 7 remain unconfirmed — do not assume either. Standard Composer dependency plus Sylius plugin enablement (config/bundles.php, config/packages/) should still apply, with no forking required if the Sylius/PHP axis also matches.
Migration path. Unchanged in principle: this is a payment-method migration, not a code migration. Map existing gateway states to Sylius payment states, decouple order data from the old provider, and run the new gateway in parallel behind a per-channel feature flag so a single store can be rolled back without a deploy.
Compatibility. Tighten the pinning guidance: baseline at v1.0.3 (not v1.0.2) to pick up the Symfony 6 fix. Validate against our Composer lock in a branch, confirm the Sylius plugin interface version, and diff the DI extension for any local overrides of getAlias(). Check whether the plugin requires symfony/http-client or guzzle specifically, and scan for deprecated Symfony APIs beyond the one just fixed.
Sequencing.
v1.0.3 in a clean Sylius skeleton on Symfony 6 with a PayZen sandbox account.Maintenance. Slightly better than before: two releases in the 1.0.x line with an upstream-compatibility fix signals the maintainer is responsive to framework drift, which lowers (but does not eliminate) the "abandoned plugin" scenario. Still expect to carry upgrade work whenever Sylius/Symfony shifts, and pin deliberately at v1.0.3. Budget for periodic review against Sylius deprecations and PayZen API changes; note that patch releases can carry signature-level changes, so read changelogs before bumping.
Support. Effectively vendor-dependent (Kiboko Labs). One external contributor on one PR does not create a community knowledge base — with 0 dependents and 3 stars, issues still fall to the vendor or in-house. Confirm whether a paid support/SLA arrangement exists before committing production traffic.
Scaling. Unchanged: the plugin is stateless, so scale follows PayZen's gateway limits and our handling of callbacks and state transitions. Watch webhook volume at peak, database contention on payment-status updates, and timeouts on long PayZen flows. Keep idempotent callback processing and indexes on order/payment identifiers.
Failure modes.
getAlias signature → boot-time container errors.Ramp-up. Roughly unchanged, marginally easier: expect a half-day for a Sylius-fluent engineer to install and configure, plus 1–2 days for a full sandbox pass including callbacks and refunds — the Symfony 6 fix removes a known landmine from that path. Require team familiarity with Sylius payment state machines, the PayZen merchant console, and PSD2/SCA basics. Adoption is still near-zero, so budget extra time for reverse-engineering behavior rather than relying on documentation or community answers.
How can I help you explore Laravel packages today?