webgriffe/sylius-nexi-plugin

Sylius 的 Nexi 支付插件。

安装数: 23,875

依赖者: 0

建议者: 0

安全: 0

星标: 2

关注者: 2

分支: 0

开放问题: 5

类型:sylius-plugin

v1.1.0 2024-07-08 09:36 UTC

README

Sylius Nexi 插件

SyliusNexiPlugin 提供了 Sylius 和 Nexi XPay 支付网关之间的集成。此插件实现了 托管支付页面 集成方法。

注意!此插件仅与允许每次请求只有一个支付的 Nexi 配置兼容。因此,在 Nexi 结账时无法多次重试支付,请确保您的 Nexi 网关已配置为不允许支付重试(您需要向 Nexi 客户服务请求此操作)!

安装

  1. 运行

    composer require webgriffe/sylius-nexi-plugin
  2. Webgriffe\SyliusNexiPlugin\WebgriffeSyliusNexiPlugin::class => ['all' => true] 添加到您的 config/bundles.php

  3. (可选) 建议还安装 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 场景)

    1. 安装 Symfony CLI 命令.

    2. 启动无头 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
    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
    1. 运行 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® 开发。