3brs/sylius-gpwebpay-plugin
最新稳定版本:v2.4.0
Composer 安装命令:
composer require 3brs/sylius-gpwebpay-plugin
包简介
GPWebpay payment gateway plugin for Sylius
README 文档
README
GP webpay Payment Gateway Plugin
Features
- Card payments as supported by GP webpay
- Fully integrated as Sylius payment method
- Using more different gateways at once or per channel
Installation
-
Run
$ composer require 3brs/sylius-gpwebpay-plugin. -
Add plugin classes to your
config/bundles.php:return [ ... ThreeBRS\SyliusGPWebpayPaymentGatewayPlugin\ThreeBRSSyliusGPWebpayPaymentGatewayPlugin::class => ['all' => true], ];
-
Load plugin configuration by
config/packages/threebrs_sylius_gpwebpay_payment_gateway_plugin.yaml:imports: - { resource: "@ThreeBRSSyliusGPWebpayPaymentGatewayPlugin/Resources/config/config.yaml" }
-
Generate keys to keep gateway credentials safe:
bin/console sylius:payment:generate-key
Usage
- Create GP webpay payment type
in Sylius admin panel, Configuration -> Payment methods
Sylius 2 pay workflow
- Customer hit Pay button
- Request goes to
\Sylius\Bundle\CoreBundle\OrderPay\Controller\OrderPayController::payAction - That will emit redirect 302 by
\Sylius\Bundle\CoreBundle\OrderPay\Provider\PaymentRequestPayResponseProvider::getResponseto route like/en_US/payment-request/pay/0197204a-8284-7301-9b30-e151c7d14ec5 - That request goes to
\Sylius\Bundle\CoreBundle\OrderPay\Action\PaymentRequestPayAction::__invoke- that will dispatch command to process the payment in
\Sylius\Bundle\PaymentBundle\Processor\HttpResponseProcessor::process - that will find command provider fitting the payment method in
\Sylius\Bundle\PaymentBundle\CommandProvider\AbstractServiceCommandProvider::provide, in our case\ThreeBRS\SyliusGPWebpayPaymentGatewayPlugin\CommandProvider\CapturePaymentRequestCommandProvider - the provider will give command
\ThreeBRS\SyliusGPWebpayPaymentGatewayPlugin\Command\CapturePaymentRequest - that will be handled by
\ThreeBRS\SyliusGPWebpayPaymentGatewayPlugin\CommandHandler\CapturePaymentRequestHandler- ⚠️ if messenger is configured as async, the payment will not be processed immediately and customer will end on Pay page again ⚠️
- that command handler may resolve the payment, but in our case it will just prepare payload for the payment gateway webpage
- then the "capture" response is processed by
\ThreeBRS\SyliusGPWebpayPaymentGatewayPlugin\ResponseProvider\CaptureHttpResponseProviderwhich in our case will return a redirect to the payment gateway webpage
- that will dispatch command to process the payment in
Development
Usage
- Develop your plugin in
/src - See
bin/for useful commands
Testing
After your changes you must ensure that the tests are still passing.
make ci
License
This library is under the MIT license.
Credits
统计信息
- 总下载量: 94
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-09-16

