- How do I install justlease/payum-ems with Composer?
- The package is hosted on Bitbucket and is not published on Packagist, so you must add an explicit VCS repository entry pointing at https://bitbucket.org/justlease_nl/payumems.git before running composer require justlease/payum-ems. Every developer machine and CI runner will also need Bitbucket credentials configured for Composer. Confirm the licence before you wire it into any application, because a private repository without a stated licence is not automatically usable.
- Is justlease/payum-ems a Laravel package or a plain PHP Payum gateway?
- It is a framework-agnostic Payum GatewayFactory, not a Laravel package. There is no service provider, config file or facade, so in Laravel you register it through Payum's gateway factory and use Payum's Payment and Gateway APIs directly. The benefit is that EMS-specific request and response handling stays out of your controllers and models.
- Which Payum and PHP versions does this EMS gateway support?
- The repository does not document supported Payum majors or PHP versions, and Payum 1.x and 2.x differ substantially, so version compatibility must be verified in the composer.json and by running the code. Test explicitly on the PHP versions you deploy, such as PHP 8.2 and 8.3, before committing. An adapter pinned to an old Payum major can block framework and PHP upgrades indefinitely.
- What Payum actions does justlease/payum-ems implement?
- The package description covers capture, status and notification handling through Payum's action pipeline. Full and partial refunds, void and authorize are not explicitly documented, so inspect the source to confirm each action exists before relying on it. A missing refund or notify action turns directly into manual finance work.
- Does justlease/payum-ems support 3DS2 and PSD2 Strong Customer Authentication?
- There is no documented statement that 3DS2 or SCA is handled. The package originates from a Dutch lessor, so PSD2 Strong Customer Authentication is likely relevant to its payment flows, but thin gateway adapters are often incomplete precisely in the 3DS area. Validate the SCA flow against an EMS test terminal before go-live rather than assuming it works.
- What licence is justlease/payum-ems released under?
- No licence is stated in the available information, and the code lives in a private Bitbucket repository. Without an explicit licence grant you do not have clear legal permission to use, modify or redistribute it, so licence clearance should be a hard gate. Ask the maintainers for written confirmation that you may fork, modify and use it internally.
- Is justlease/payum-ems available on Packagist?
- No. It is Bitbucket-hosted with no Packagist listing, zero stars and zero dependents, so installation requires a VCS repository entry and Bitbucket access for Composer. That also means there is no external validation, issue history or evidence of production use outside the originating organisation.
- How can I test EMS payments without charging real cards?
- Ask the maintainers or EMS whether a sandbox or test terminal is available and which credentials it uses. There is no visible test suite in the package, so expect to write your own contract tests against the EMS sandbox. Treat the first real end-to-end run as a validation exercise, not a formality.
- How do I handle EMS status callbacks and notifications with Payum?
- The package wires EMS status and notification handling into Payum's request and response model, so you expose an endpoint that executes the relevant Payum notify or status request using the stored token. Verify the callback signature and make your handler idempotent, because payment providers can resend notifications. Confirm in the source which actions are implemented before designing the route.
- What are the alternatives to justlease/payum-ems for EMS payments in Laravel?
- If you already run Payum, this factory is close to a drop-in and the lowest-cost option once licensing and maintenance are cleared. If you do not use Payum, weigh a maintained first-party EMS SDK or a different PSP against importing Payum plus a private adapter for a single acquirer. If your Laravel app already uses Stripe, Mollie or Cashier, adding a second payment abstraction is usually a long-term tax unless EMS is a contractual requirement.