Download the PHP package pkglt/sylius-everypay-plugin without Composer

On this page you can find all versions of the php package pkglt/sylius-everypay-plugin. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package sylius-everypay-plugin

Sylius EveryPay Plugin

Build Version Downloads

EveryPay payment gateway for Sylius 2.x. EveryPay is the LHV Paytech e-commerce platform used by the Baltic partner banks SEB, LHV and Swedbank - one integration gives you card payments, Open Banking bank links (all major Baltic banks), Apple Pay and Google Pay through EveryPay's hosted payment page.

Built on the modern Sylius PaymentRequest pipeline (sylius/payment-bundle) - no legacy Payum. The architecture follows Sylius' official Stripe and PayPal plugins; see docs/architecture.md.

EveryPay themselves offer no official Sylius integration and none is planned (confirmed by EveryPay support, September 2025) - this community plugin fills that gap.

Not to be confused with everypay.gr (a Greek PSP with the same name).

Features

With the in-shop method buttons enabled, customers pick their bank or card without leaving the store (methods grouped by country, the customer's own country first):

Requirements

Version
PHP 8.2+
Sylius 2.2+

Works with the standard Sylius shop frontend out of the box, and with headless/API-only stores (see Headless checkouts).

Installation

1. Require the package

2. Register the bundle

3. Import the plugin configuration

This registers the gateway validation groups and the admin form Twig hooks. No database migrations are needed - the plugin only uses core Sylius entities (sylius_payment, sylius_payment_request, sylius_gateway_config).

4. Create the payment method

In the Sylius admin: Payment methods -> Create, choose the EveryPay (cards & bank payments) gateway, and fill in:

Field Where to find it
API username / API secret EveryPay merchant portal -> Merchant settings -> General
Processing account e.g. EUR3D1 - shown in the portal; fixes the currency and available methods
Environment Demo (igw-demo.every-pay.com) or Live (pay.every-pay.eu)
Checkout appearance Redirect to EveryPay (default), or show the payment method buttons in the shop

Credentials are verified against the EveryPay API when you save the form - a wrong secret or an unknown processing account fails validation with a clear message (network problems never block saving).

Because no Payum factory named everypay exists, Sylius automatically stores use_payum = 0 on the gateway config and routes checkout through the PaymentRequest pipeline - no extra configuration needed.

5. Set the callback URL in the EveryPay portal

In the merchant portal under E-shop settings -> Payments, set the callback (notification) URL to the Sylius payment method notify endpoint:

Keep "Additional notifications via callback" enabled so refund/void/chargeback events are delivered too, and leave the order_reference uniqueness validation on (the plugin generates unique references per payment attempt).

If your shop sits behind a CDN/WAF (e.g. Cloudflare), make sure /payment-methods/* is neither cached nor bot-challenged - a challenge page would silently eat the server-to-server callback.

Headless / API checkouts

With sylius/shop-bundle installed, the customer return URL (customer_url) defaults to the shop's /order/after-pay/{hash} route - nothing to configure.

In headless stores (or for API-created payment requests in hybrid apps), pass the return URL of your frontend in the payment request payload instead:

An explicit after_pay_url always wins over the shop route. Remember that EveryPay rejects URLs with a dotless host (plain localhost fails; *.localhost subdomains work). After the customer returns to your frontend, drive the usual Sylius payment-request status flow to settle the payment.

How it works

Flow Trigger What happens
Capture customer finishes checkout POST /v4/payments/oneoff -> customer is redirected (303) to the hosted payment page
Status customer returns to the shop payment state re-read from the API, Sylius payment transitioned accordingly
Notify EveryPay server callback payment resolved by payment_reference, state re-read from the API; non-2xx responses make EveryPay redeliver (6 retries / 72 h)
Refund admin presses Refund refund payment request + POST /v4/payments/refund inside one transaction; on API failure everything rolls back and the admin sees an error flash

Every payment row on the admin order page shows the raw EveryPay state and the payment reference (and, for live payments, a link to the merchant portal):

See docs/architecture.md for the full design (state mapping table, idempotency and concurrency notes) and docs/everypay-api.md for the distilled EveryPay API v4 reference.

Local development & testing gotchas

Development

The functional suite runs the plugin inside the official Sylius test application on SQLite with a scripted EveryPay API mock - no database service, browser or frontend build required. It covers container wiring, the notify endpoint (including a settled callback moving a payment through the real state machine), the capture flow on the real payment-request command bus, and the admin gateway form rendering.

This repository is set up for AI-agent-assisted development - see AGENTS.md for the project map, invariants and conventions.

Roadmap

Contributing & security

Contributions are welcome - see CONTRIBUTING.md and the agent/architecture guide in AGENTS.md. Please report security issues privately per SECURITY.md. Changes are tracked in the CHANGELOG.

License

MIT - see LICENSE.

Verified end-to-end against the EveryPay/SEB demo environment (full pay, refund, callback and failure paths).

EveryPay is a trademark of its respective owner (EveryPay AS / LHV Paytech). This is an independent community integration, not affiliated with or endorsed by EveryPay, LHV, SEB or Swedbank.


All versions of sylius-everypay-plugin with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
composer-runtime-api Version ^2.0
sylius/core-bundle Version ^2.2
symfony/http-client-contracts Version ^3.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package pkglt/sylius-everypay-plugin contains the following files

Loading the files please wait ...