{"id":24780401,"url":"https://github.com/webgriffe/syliusnexiplugin","last_synced_at":"2026-01-12T09:38:26.701Z","repository":{"id":38257733,"uuid":"360923526","full_name":"webgriffe/SyliusNexiPlugin","owner":"webgriffe","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-15T14:44:28.000Z","size":144,"stargazers_count":2,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-20T21:56:19.408Z","etag":null,"topics":["nexi","sylius"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/webgriffe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-23T15:11:14.000Z","updated_at":"2024-10-15T14:46:08.000Z","dependencies_parsed_at":"2023-01-29T14:30:48.502Z","dependency_job_id":"8a438a5a-b4d7-4780-9fb8-375911ee9eab","html_url":"https://github.com/webgriffe/SyliusNexiPlugin","commit_stats":{"total_commits":46,"total_committers":3,"mean_commits":"15.333333333333334","dds":"0.17391304347826086","last_synced_commit":"93b8beb8c42559faf799a7e21f0c654069064b20"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":"Sylius/PluginSkeleton","purl":"pkg:github/webgriffe/SyliusNexiPlugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webgriffe%2FSyliusNexiPlugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webgriffe%2FSyliusNexiPlugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webgriffe%2FSyliusNexiPlugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webgriffe%2FSyliusNexiPlugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webgriffe","download_url":"https://codeload.github.com/webgriffe/SyliusNexiPlugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webgriffe%2FSyliusNexiPlugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279010259,"owners_count":26084719,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-12T02:00:06.719Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nexi","sylius"],"created_at":"2025-01-29T10:30:21.601Z","updated_at":"2025-10-12T04:31:15.115Z","avatar_url":"https://github.com/webgriffe.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://sylius.com\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://demo.sylius.com/assets/shop/img/logo.png\" /\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eSylius Nexi Plugin\u003c/h1\u003e\n\nThe _SyliusNexiPlugin_ provides an integration between [Sylius](https://sylius.com/) and [Nexi XPay](https://developer.nexi.it/it/servizio-ecommerce) payment gateway.\nThis plugin implements the [Hosted Payment Page](https://developer.nexi.it/it/modalita-di-integrazione/hosted-payment-page) integration method.\n\n\u003e Note! This plugin is only compatible with the Nexi configuration which allows only one payment per request. It is\n\u003e therefore not possible to retry the payment several times on the Nexi checkout,\n\u003e so make sure that your Nexi gateway is configured to not allow payment retry (you'll have to ask to Nexi customer care for this)!\n\n## Installation\n\n1. Run\n    ```shell\n    composer require webgriffe/sylius-nexi-plugin\n    ```\n\n2. Add `Webgriffe\\SyliusNexiPlugin\\WebgriffeSyliusNexiPlugin::class =\u003e ['all' =\u003e true]` to your `config/bundles.php`.\n\n3. (Optional) It's suggested to also install the [Payum Lock Request Extension Bundle](https://github.com/webgriffe/PayumLockRequestExtensionBundle):\n    ```shell\n    composer require webgriffe/payum-lock-request-extension-bundle\n    ```\n    and add `Webgriffe\\PayumLockRequestExtensionBundle\\WebgriffePayumLockRequestExtensionBundle::class =\u003e ['all' =\u003e true]` to your `config/bundles.php`.\n    This Payum extension avoids issues when concurrent requests are made by the buyer and the Nexi gateway for the same payment.\n\n## Configuration\n\nGo in your Sylius admin panel and create a new payment method. Choose `Nexi Gateway` as the payment gateway and fill the required fields.\nYou can also enable the _Sandbox_ mode if you want to test the integration with the [Nexi test environment](https://developer.nexi.it/it/area-test/introduzione).\n\n## Contributing\n\n### Running plugin tests\n\n- PHPUnit\n\n  ```bash\n  vendor/bin/phpunit\n  ```\n\n- PHPSpec\n\n  ```bash\n  vendor/bin/phpspec run\n  ```\n\n- Behat (non-JS scenarios)\n\n  ```bash\n  vendor/bin/behat --strict --tags=\"~@javascript\"\n  ```\n\n- Behat (JS scenarios)\n\n    1. [Install Symfony CLI command](https://symfony.com/download).\n\n    2. Start Headless Chrome:\n\n    ```bash\n    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\n    ```\n\n    3. Install SSL certificates (only once needed) and run test application's webserver on `127.0.0.1:8080`:\n\n    ```bash\n    symfony server:ca:install\n    APP_ENV=test symfony server:start --port=8080 --dir=tests/Application/public --daemon\n    ```\n\n    4. Run Behat:\n\n    ```bash\n    vendor/bin/behat --strict --tags=\"@javascript\"\n    ```\n\n- Static Analysis\n\n    - Psalm\n\n      ```bash\n      vendor/bin/psalm\n      ```\n\n    - PHPStan\n\n      ```bash\n      vendor/bin/phpstan analyse -c phpstan.neon -l max src/  \n      ```\n\n- Coding Standard\n\n  ```bash\n  vendor/bin/ecs check src\n  ```\n\n#### Opening Sylius with your plugin\n\n- Using `test` environment:\n\n    ```bash\n    (cd tests/Application \u0026\u0026 APP_ENV=test bin/console sylius:fixtures:load)\n    (cd tests/Application \u0026\u0026 APP_ENV=test bin/console server:run -d public)\n    ```\n\n- Using `dev` environment:\n\n    ```bash\n    (cd tests/Application \u0026\u0026 APP_ENV=dev bin/console sylius:fixtures:load)\n    (cd tests/Application \u0026\u0026 APP_ENV=dev bin/console server:run -d public)\n    ```\n\n## License\n\nThis plugin is under the MIT license. See the complete license in the LICENSE file.\n\n## Credits\n\nDeveloped by [Webgriffe®](http://www.webgriffe.com/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebgriffe%2Fsyliusnexiplugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebgriffe%2Fsyliusnexiplugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebgriffe%2Fsyliusnexiplugin/lists"}