定制 3brs/sylius-gpwebpay-plugin 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

  1. Run $ composer require 3brs/sylius-gpwebpay-plugin.

  2. Add plugin classes to your config/bundles.php:

    return [
       ...
       ThreeBRS\SyliusGPWebpayPaymentGatewayPlugin\ThreeBRSSyliusGPWebpayPaymentGatewayPlugin::class => ['all' => true],
    ];
  3. Load plugin configuration by config/packages/threebrs_sylius_gpwebpay_payment_gateway_plugin.yaml:

    imports:
     - { resource: "@ThreeBRSSyliusGPWebpayPaymentGatewayPlugin/Resources/config/config.yaml" }
  4. 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::getResponse to 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\CaptureHttpResponseProvider which in our case will return a redirect to the payment gateway webpage

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

Developed by 3BRS
Forked from manGoweb.

统计信息

  • 总下载量: 94
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-09-16