webgriffe / sylius-nexi-plugin
Sylius 的 Nexi 支付插件。
Requires
- php: ^8.1
- guzzlehttp/psr7: ^1.6 || ^2.5
- payum/payum: ^1.6
- php-http/message-factory: ^1.0
- psr/log: ^2.0
- sylius/sylius: ^1.12
- symfony/webpack-encore-bundle: ^1.15
- webgriffe/lib-quipago: ^3.0
Requires (Dev)
- behat/behat: ^3.6.1
- behat/mink-selenium2-driver: ^1.6
- dbrekelmans/bdi: ^1.1
- dmore/behat-chrome-extension: ^1.3
- dmore/chrome-mink-driver: ^2.7
- friends-of-behat/mink: ^1.8
- friends-of-behat/mink-browserkit-driver: ^1.4
- friends-of-behat/mink-debug-extension: ^2.0.0
- friends-of-behat/mink-extension: ^2.4
- friends-of-behat/page-object-extension: ^0.3
- friends-of-behat/suite-settings-extension: ^1.0
- friends-of-behat/symfony-extension: ^2.1
- friends-of-behat/variadic-extension: ^1.3
- phpspec/phpspec: ^7.2
- phpstan/extension-installer: ^1.0
- phpstan/phpstan: ^1.8.1
- phpstan/phpstan-doctrine: 1.3.16
- phpstan/phpstan-strict-rules: ^1.3.0
- phpstan/phpstan-webmozart-assert: ^1.2.0
- phpunit/phpunit: ^9.6 || ^10.5
- polishsymfonycommunity/symfony-mocker-container: ^1.0
- robertfausk/behat-panther-extension: ^1.1
- sylius-labs/coding-standard: ^4.2
- sylius-labs/suite-tags-extension: ^0.2
- symfony/browser-kit: ^5.4 || ^6.0
- symfony/debug-bundle: ^5.4 || ^6.0
- symfony/dotenv: ^5.4 || ^6.0
- symfony/flex: ^2.2.2
- symfony/intl: ^5.4 || ^6.0
- symfony/web-profiler-bundle: ^5.4 || ^6.0
- vimeo/psalm: 4.27.0
Suggests
- webgriffe/payum-lock-request-extension-bundle: A Payum extension providing the ability to lock concurrent requests.
This package is auto-updated.
Last update: 2024-09-08 09:58:11 UTC
README
Sylius Nexi 插件
SyliusNexiPlugin 提供了 Sylius 和 Nexi XPay 支付网关之间的集成。此插件实现了 托管支付页面 集成方法。
注意!此插件仅与允许每次请求只有一个支付的 Nexi 配置兼容。因此,在 Nexi 结账时无法多次重试支付,请确保您的 Nexi 网关已配置为不允许支付重试(您需要向 Nexi 客户服务请求此操作)!
安装
-
运行
composer require webgriffe/sylius-nexi-plugin
-
将
Webgriffe\SyliusNexiPlugin\WebgriffeSyliusNexiPlugin::class => ['all' => true]
添加到您的config/bundles.php
。 -
(可选) 建议还安装 Payum Lock Request Extension Bundle
composer require webgriffe/payum-lock-request-extension-bundle
并将
Webgriffe\PayumLockRequestExtensionBundle\WebgriffePayumLockRequestExtensionBundle::class => ['all' => true]
添加到您的config/bundles.php
。此 Payum 扩展避免了买方和 Nexi 网关对同一笔支付并发请求时可能出现的问题。
配置
进入您的 Sylius 管理面板并创建一个新的支付方式。选择 Nexi Gateway
作为支付网关并填写所需字段。您还可以启用 沙盒 模式,如果您想测试与 Nexi 测试环境 的集成。
贡献
运行插件测试
-
PHPUnit
vendor/bin/phpunit
-
PHPSpec
vendor/bin/phpspec run
-
Behat (非 JS 场景)
vendor/bin/behat --strict --tags="~@javascript"
-
Behat (JS 场景)
-
启动无头 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
- 安装 SSL 证书(仅需要一次)并在
127.0.0.1:8080
上运行测试应用的 web 服务器
symfony server:ca:install APP_ENV=test symfony server:start --port=8080 --dir=tests/Application/public --daemon
- 运行 Behat
vendor/bin/behat --strict --tags="@javascript"
-
静态分析
-
Psalm
vendor/bin/psalm
-
PHPStan
vendor/bin/phpstan analyse -c phpstan.neon -l max src/
-
-
编码标准
vendor/bin/ecs check src
以您的插件打开 Sylius
-
使用
test
环境(cd tests/Application && APP_ENV=test bin/console sylius:fixtures:load) (cd tests/Application && APP_ENV=test bin/console server:run -d public)
-
使用
dev
环境(cd tests/Application && APP_ENV=dev bin/console sylius:fixtures:load) (cd tests/Application && APP_ENV=dev bin/console server:run -d public)
许可证
此插件受 MIT 许可证保护。有关完整许可证信息,请参阅 LICENSE 文件。
致谢
由 Webgriffe® 开发。