payplug / sylius-payplug-plugin
Sylius应用中的PayPlug支付插件。
Requires
- php: ^8.0
- ext-json: *
- giggsey/libphonenumber-for-php: ^8.12
- payplug/payplug-php: ^3.1
- php-http/message-factory: ^1.1
- sylius/refund-plugin: ^1.4
- sylius/sylius: ^1.11.0
- symfony/asset: ^4.4|^5.0|^6.0
- symfony/lock: ^4.4|^5.0|^6.0
- symfony/validator: ^4.4|^5.0|^6.0
Requires (Dev)
- behat/behat: ^3.7
- behat/mink-selenium2-driver: ^1.4
- 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
- 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
- friendsoftwig/twigcs: ^5.0
- j13k/yaml-lint: ^1.1
- lakion/mink-debug-extension: ^2.0
- mockery/mockery: ^1.5
- php-parallel-lint/php-parallel-lint: ^1.0
- phpmd/phpmd: ^2.8
- phpspec/phpspec: ^6.1 || ^7.2
- phpstan/extension-installer: 1.1.0
- phpstan/phpstan: 1.8.2
- phpstan/phpstan-doctrine: 1.3.11
- phpstan/phpstan-strict-rules: 1.3.0
- phpstan/phpstan-webmozart-assert: 1.2.0
- phpunit/phpunit: ^9.0
- slevomat/coding-standard: ^6.3.2
- sylius-labs/coding-standard: ^4.0
- symfony/browser-kit: ^5.0|^6.0
- symfony/debug-bundle: ^5.0|^6.0
- symfony/dotenv: ^5.0|^6.0
- symfony/intl: ^5.0|^6.0
- symfony/web-profiler-bundle: ^5.0|^6.0
- webmozart/assert: ^1.8
- dev-master
- 1.9.3
- 1.9.3-rc.0
- 1.9.2
- 1.9.2-rc.1
- 1.9.2-rc.0
- 1.9.1
- 1.9.1-rc.3
- 1.9.1-rc.2
- 1.9.1-rc.1
- 1.9.1-rc.0
- 1.9.0
- 1.9.0-rc.2
- 1.9.0-rc.1
- 1.9.0-rc.0
- 1.8.0
- 1.8.0-rc.0
- 1.7.0
- 1.7.0-rc.4
- 1.7.0-rc.3
- 1.7.0-rc.2
- 1.7.0-rc.1
- 1.7.0-rc.0
- 1.6.0
- 1.6.0-rc.1
- 1.6.0-rc.0
- 1.5.0
- 1.5.0-rc.0
- 1.4.1-rc.0
- 1.4.0
- 1.4.0-rc.5
- 1.4.0-rc.4
- 1.4.0-rc.3
- 1.4.0-rc.2
- 1.4.0-rc.1
- 1.4.0-rc.0
- 1.3.0
- 1.2.0
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.0
- 0.2
- 0.1
- dev-qa
- dev-dependabot/npm_and_yarn/src/Resources/dev/json5-2.2.3
- dev-dependabot/npm_and_yarn/src/Resources/dev/ansi-regex-4.1.1
- dev-qa-fixed-conflicts
- dev-qa-fix-conflicts
- dev-feature/SYL-165
- dev-develop
This package is auto-updated.
Last update: 2024-09-22 08:25:53 UTC
README
Sylius的PayPlug支付插件
此插件允许您将Payplug支付集成到Sylius平台应用程序中,包括支付功能和订单退款。
要求
在渠道设置中,基础货币必须设置为EUR,因为支付网关仅支持此货币。
在本地环境中,插件将无法正常工作,因为您将无法收到支付网关的支付状态通知。
⚠️ 退款要求
由于对退款插件的依赖,您需要对插件进行一些调整,以便其正常工作。请遵循以下要求。
要生成退款时的“贷项凭证”,您的服务器需要安装WKHTMLTOPDF二进制文件,具体说明请参阅退款插件文档 # 预先要求
兼容性
安装
-
需要payplug/sylius-payplug-plugin
composer config extra.symfony.allow-contrib true composer require payplug/sylius-payplug-plugin
-
将迁移应用到您的数据库
bin/console doctrine:migrations:migrate
-
将Sylius覆盖的模板复制到
templates/bundles/SyliusAdminBundle
mkdir -p templates/bundles/SyliusAdminBundle/ cp -R vendor/payplug/sylius-payplug-plugin/src/Resources/views/SyliusAdminBundle/* templates/bundles/SyliusAdminBundle/
-
在
config/services.yaml
中将Payplug添加到Sylius Refund Plugin的可退款支付方式parameters: locale: fr_FR sylius_refund.supported_gateways: - payplug - payplug_oney - payplug_bancontact - payplug_apple_pay - payplug_american_express
-
在
config/routes.yaml
中添加Payplug路由sylius_payplug: resource: "@PayPlugSyliusPayPlugPlugin/Resources/config/routing.yaml"
-
为Customer和PaymentMethod实体添加特质
-
App\Entity\Customer\Customer
<?php declare(strict_types=1); namespace App\Entity\Customer; use Doctrine\ORM\Mapping as ORM; use PayPlug\SyliusPayPlugPlugin\Entity\Traits\CustomerTrait; use Sylius\Component\Core\Model\Customer as BaseCustomer; /** * @ORM\Entity * @ORM\Table(name="sylius_customer") */ #[ORM\Entity] #[ORM\Table(name: 'sylius_customer')] class Customer extends BaseCustomer { use CustomerTrait; }
-
App\Entity\Payment\PaymentMethod
<?php declare(strict_types=1); namespace App\Entity\Payment; use Doctrine\ORM\Mapping as ORM; use PayPlug\SyliusPayPlugPlugin\Entity\Traits\PaymentMethodTrait; use Sylius\Component\Core\Model\PaymentMethod as BasePaymentMethod; use Sylius\Component\Payment\Model\PaymentMethodTranslationInterface; /** * @ORM\Entity * @ORM\Table(name="sylius_payment_method") */ #[ORM\Entity] #[ORM\Table(name: 'sylius_payment_method')] class PaymentMethod extends BasePaymentMethod { use PaymentMethodTrait; protected function createTranslation(): PaymentMethodTranslationInterface { return new PaymentMethodTranslation(); } }
-
App\Entity\Payment\Payment
<?php declare(strict_types=1); namespace App\Entity\Payment; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\ORM\Mapping as ORM; use PayPlug\SyliusPayPlugPlugin\Entity\Traits\PaymentTrait; use Sylius\Component\Core\Model\Payment as BasePayment; /** * @ORM\Entity * @ORM\Table(name="sylius_payment") */ #[ORM\Entity] #[ORM\Table(name: 'sylius_payment')] class Payment extends BasePayment { use PaymentTrait; }
-
处理翻译
php bin/console translation:extract en PayPlugSyliusPayPlugPlugin --dump-messages php bin/console translation:extract fr PayPlugSyliusPayPlugPlugin --dump-messages
-
清除缓存
php bin/console cache:clear
🎉 您现在可以添加Payplug支付方式了。在您的后台,转到配置 > 支付方式
,然后点击创建
,选择"Payplug"。
日志
如果您想在生产环境中跟踪日志,您需要在config/packages/prod/monolog.yaml
中添加配置,日志应在var/log/prod.log
中,可以通过短语[Payum]
或[Payplug]
进行搜索。
monolog: handlers: ... payum: level: debug type: stream path: "%kernel.logs_dir%/%kernel.environment%.log"
自定义
您可以装饰可用服务,并扩展表单。
运行以下命令以查看与该插件共享的Symfony服务
$ bin/console debug:container payplug_sylius_payplug_plugin
模板覆盖
此插件覆盖了一些Sylius模板。如果您也打算覆盖它们,您应该在您的应用程序中检索它们。
将插件中覆盖的Sylius模板复制到您的模板目录中(例如 templates/bundles/)
mkdir -p templates/bundles/SyliusAdminBundle/ mkdir -p templates/bundles/SyliusShopBundle/ mkdir -p templates/bundles/SyliusUiBundle/ cp -R vendor/payplug/sylius-payplug-plugin/src/Resources/views/SyliusAdminBundle/* templates/bundles/SyliusAdminBundle/ cp -R vendor/payplug/sylius-payplug-plugin/src/Resources/views/SyliusShopBundle/* templates/bundles/SyliusShopBundle/ cp -R vendor/payplug/sylius-payplug-plugin/src/Resources/views/SyliusUiBundle/* templates/bundles/SyliusUiBundle/
您还需要编辑您的twig配置以添加您的路径,以避免我们的配置被前置
twig: paths: '%kernel.project_dir%/templates/bundles/SyliusAdminBundle': SyliusAdmin '%kernel.project_dir%/templates/bundles/SyliusShopBundle': SyliusShop '%kernel.project_dir%/templates/bundles/SyliusUiBundle': SyliusUi
开发
有关如何贡献的说明,请参阅贡献指南。
许可证
此库受MIT许可证的约束。
Oney集成
要实现更好的Oney集成,您可以查看Oney增强文档。