https://github.com/webgriffe/syliuspausepayplugin
Sylius plugin for PausePay payment gateway
https://github.com/webgriffe/syliuspausepayplugin
Last synced: 4 months ago
JSON representation
Sylius plugin for PausePay payment gateway
- Host: GitHub
- URL: https://github.com/webgriffe/syliuspausepayplugin
- Owner: webgriffe
- Created: 2024-08-29T09:56:18.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-09-26T12:20:20.000Z (over 1 year ago)
- Last Synced: 2025-10-12T05:32:06.609Z (9 months ago)
- Language: PHP
- Size: 168 KB
- Stars: 2
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
Sylius PausePay Plugin
Sylius plugin for PausePay payment method.
## Installation
1. Run:
```bash
composer require webgriffe/sylius-pausepay-plugin
```
2. Add `Webgriffe\SyliusPausePayPlugin\WebgriffeSyliusPausePayPlugin::class => ['all' => true]` to your `config/bundles.php`.
Normally, the plugin is automatically added to the `config/bundles.php` file by the `composer require` command. If it is not, you have to add it manually.
3. Create a new file config/packages/webgriffe_sylius_pausepay_plugin.yaml:
```yaml
imports:
- { resource: "@WebgriffeSyliusPausePayPlugin/config/config.php" }
```
4. Create a new file config/routes/webgriffe_sylius_pausepay_plugin.yaml:
```yaml
webgriffe_sylius_pausepay_plugin_shop:
resource: "@WebgriffeSyliusPausePayPlugin/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_pausepay_plugin_index:
resource: "@WebgriffeSyliusPausePayPlugin/config/routes/index.php"
webgriffe_sylius_pausepay_plugin_payum:
resource: "@WebgriffeSyliusPausePayPlugin/config/routes/payum.php"
sylius_shop_payum_cancel:
resource: "@PayumBundle/Resources/config/routing/cancel.xml"
```
5. Add the PaymentOrder entity. Create a new file `src/Entity/Payment/PaymentOrder.php` with the following content:
```php
window.afterUrl = "{{ afterUrl }}";
window.paymentStatusUrl = "{{ paymentStatusUrl }}";
{{ encore_entry_script_tags('webgriffe-sylius-pausepay-entry', null, 'sylius.shop') }}
{% endblock %}
```
## Usage
Access to the admin panel and go to the `Payment methods` section. Create a new payment method and select `PausePay`
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, that is full of examples.
### Quickstart Installation
#### Traditional
1. Run `composer create-project sylius/plugin-skeleton ProjectName`.
2. From the plugin skeleton root directory, run the following commands:
```bash
$ (cd tests/Application && yarn install)
$ (cd tests/Application && yarn build)
$ (cd tests/Application && APP_ENV=test bin/console assets:install public)
$ (cd tests/Application && APP_ENV=test bin/console doctrine:database:create)
$ (cd tests/Application && APP_ENV=test bin/console doctrine:schema:create)
```
To be able to set up a plugin's database, remember to configure you database credentials in `tests/Application/.env` and `tests/Application/.env.test`.
#### Docker
1. Execute `docker compose up -d`
2. Initialize plugin `docker compose exec app make init`
3. See your browser `open localhost`
## Usage
#### Running plugin tests
- PHPUnit
```bash
vendor/bin/phpunit
```
- PHPSpec
```bash
vendor/bin/phpspec run
```
- Behat (non-JS scenarios)
```bash
vendor/bin/behat --strict --tags="~@javascript"
```
- Behat (JS scenarios)
1. [Install Symfony CLI command](https://symfony.com/download).
2. Start Headless Chrome:
```bash
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
```
3. Install SSL certificates (only once needed) and run test application's webserver on `127.0.0.1:8080`:
```bash
symfony server:ca:install
APP_ENV=test symfony server:start --port=8080 --dir=tests/Application/public --daemon
```
4. Run Behat:
```bash
vendor/bin/behat --strict --tags="@javascript"
```
- Static Analysis
- Psalm
```bash
vendor/bin/psalm
```
- PHPStan
```bash
vendor/bin/phpstan analyse -c phpstan.neon -l max src/
```
- Coding Standard
```bash
vendor/bin/ecs check
```
#### Opening Sylius with your plugin
- Using `test` environment:
```bash
(cd tests/Application && APP_ENV=test bin/console sylius:fixtures:load)
(cd tests/Application && APP_ENV=test bin/console server:run -d public)
```
- Using `dev` environment:
```bash
(cd tests/Application && APP_ENV=dev bin/console sylius:fixtures:load)
(cd tests/Application && APP_ENV=dev bin/console server:run -d public)
```