webgriffe / sylius-heylight-plugin
Sylius plugin for HeyLight payment gateway (ex PagoLight BNPL and PagoLight PRO)
Installs: 2 765
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 4
Forks: 0
Open Issues: 1
Type:sylius-plugin
pkg:composer/webgriffe/sylius-heylight-plugin
Requires
- php: ^8.2
- guzzlehttp/psr7: ^2.5
- php-http/discovery: ^1.19
- psr/http-factory: ^1.0
- sylius/sylius: ^2.1
Requires (Dev)
- behat/behat: ^3.16
- behat/mink: ^1.13
- dbrekelmans/bdi: ^1.4
- dmore/behat-chrome-extension: ^1.4
- dmore/chrome-mink-driver: ^2.9
- friends-of-behat/mink-browserkit-driver: ^1.6
- friends-of-behat/mink-debug-extension: ^2.1
- friends-of-behat/mink-extension: ^2.7
- friends-of-behat/page-object-extension: ^0.3
- friends-of-behat/suite-settings-extension: ^1.1
- friends-of-behat/symfony-extension: ^2.6
- friends-of-behat/variadic-extension: ^1.6
- nyholm/psr7: ^1.8
- phpspec/phpspec: ^8.1
- phpstan/phpstan: ^1.12
- phpstan/phpstan-doctrine: ^1.3
- phpstan/phpstan-webmozart-assert: ^1.2
- phpunit/phpunit: ^10.5
- robertfausk/behat-panther-extension: ^1.1
- sylius-labs/coding-standard: ^4.4
- sylius-labs/suite-tags-extension: ~0.2
- sylius/sylius-rector: ^2.0
- sylius/test-application: ^2.0.0@alpha
- symfony/browser-kit: ^6.4 || ^7.4
- symfony/debug-bundle: ^6.4 || ^7.4
- symfony/dotenv: ^6.4 || ^7.4
- symfony/http-client: ^6.4 || ^7.4
- symfony/intl: ^6.4 || ^7.4
- symfony/runtime: ^6.4 || ^7.4
- symfony/web-profiler-bundle: ^6.4 || ^7.4
- symfony/webpack-encore-bundle: ^2.2
- vimeo/psalm: ^6.14
This package is auto-updated.
Last update: 2026-01-22 14:08:11 UTC
README
Sylius HeyLight Plugin
Sylius plugin for HeyLight payment gateway (ex PagoLight BNPL and PagoLight PRO).
Installation
-
Run:
composer require webgriffe/sylius-heylight-plugin
-
Add
Webgriffe\SyliusHeylightPlugin\WebgriffeSyliusHeylightPlugin::class => ['all' => true]to yourconfig/bundles.php.Normally, the plugin is automatically added to the
config/bundles.phpfile by thecomposer requirecommand. If it is not, you have to add it manually. -
Create a new file config/packages/webgriffe_sylius_heylight_plugin.yaml:
imports: - { resource: "@WebgriffeSyliusHeylightPlugin/config/config.php" }
-
Import the routes needed for cancelling the payments. Add the following to your config/routes.yaml file:
webgriffe_sylius_heylight_plugin_shop: resource: "@WebgriffeSyliusHeylightPlugin/config/routes/shop.php" prefix: /{_locale} requirements: _locale: ^[A-Za-z]{2,4}(_([A-Za-z]{4}|[0-9]{3}))?(_([A-Za-z]{2}|[0-9]{3}))?$ webgriffe_sylius_heylight_plugin_ajax: resource: "@WebgriffeSyliusHeylightPlugin/config/routes/shop_ajax.php" sylius_shop_payum_cancel: resource: "@PayumBundle/Resources/config/routing/cancel.xml"
NB: The file shop_routing needs to be after the prefix _locale, so that messages can be displayed in the right language. You should also include the cancel routes from the Payum bundle if you do not have it already!
-
Run:
php bin/console sylius:install:assets
Usage
Access to the admin panel and go to the Payment methods section. Create a new payment method and select HeyLight BNPL
or HeyLight Financing as gateway. Then, configure the payment method with the required parameters.
Contributing
For a comprehensive guide on Sylius Plugins development please go to Sylius documentation, there you will find the Plugin Development Guide - it's a great place to start.
For more information about the Test Application included in the skeleton, please refer to the Sylius documentation.
Traditional
-
From the plugin skeleton root directory, run the following commands:
(cd vendor/sylius/test-application && yarn install) (cd vendor/sylius/test-application && yarn build) vendor/bin/console assets:install vendor/bin/console doctrine:database:create vendor/bin/console doctrine:migrations:migrate -n # Optionally load data fixtures vendor/bin/console sylius:fixtures:load -n
To be able to set up a plugin's database, remember to configure your database credentials in tests/TestApplication/.env and tests/TestApplication/.env.test.
-
Run your local server:
symfony server:ca:install symfony server:start -d
-
Open your browser and navigate to
https://localhost:8000.
Docker
-
Execute
make initto initialize the container and install the dependencies. -
Execute
make database-initto create the database and run migrations. -
(Optional) Execute
make load-fixturesto load the fixtures. -
Your app is available at
http://localhost.
Usage
Running plugin tests
-
PHPUnit
vendor/bin/phpunit
-
Behat (non-JS scenarios)
vendor/bin/behat --strict --tags="~@javascript&&~@mink:chromedriver" -
Behat (JS scenarios)
-
Start Headless Chrome:
google-chrome-stable --enable-automation --disable-background-networking --no-default-browser-check --no-first-run --disable-popup-blocking --disable-default-apps --allow-insecure-localhost --disable-translate --disable-extensions --no-sandbox --enable-features=Metal --headless --remote-debugging-port=9222 --window-size=2880,1800 --proxy-server='direct://' --proxy-bypass-list='*' http://127.0.0.1
- Install SSL certificates (only once needed) and run test application's webserver on
127.0.0.1:8080:
symfony server:ca:install APP_ENV=test symfony server:start --port=8080 --daemon
- Run Behat:
vendor/bin/behat --strict --tags="@javascript,@mink:chromedriver" -
Static Analysis
-
PHPStan
vendor/bin/phpstan analyse -c phpstan.neon -l max src/
-
Psalm
vendor/bin/psalm
-
-
Coding Standard
vendor/bin/ecs check
Opening Sylius with your plugin
-
Using
testenvironment:APP_ENV=test vendor/bin/console vendor/bin/console sylius:fixtures:load -n APP_ENV=test symfony server:start -d
-
Using
devenvironment:vendor/bin/console vendor/bin/console sylius:fixtures:load -n symfony server:start -d