2016-03-09 2 views
1

Я пытаюсь зарегистрировать пользовательскую фабрику шлюза с помощью PayumBundle. Если я зарегистрирую свою Gateway Factory напрямую с помощью PayumBuilder, он отлично работает. Но если я добавлю его через PayumBundle, все расширения отсутствуют.Регистрация пользовательского шлюза с PayumBundle

# app/config/config.yml 
payum: 
    gateways_v2: 
     superpay: 
      factory: superpay 
      service: ~ 

И моя конфигурация службы выглядит следующим образом:

# app/config/services.yml 
services: 
    app.superpay.factory: 
     class: App\Payum\Superpay\SuperpayGatewayFactory 
     arguments: 
      - { url: http://www.example.com } # change this 
     tags: 
      - { name: payum.gateway_factory, factory_name: superpay, human_name: Superpay } 

Может быть, это связано с https://github.com/Payum/Payum/issues/452

Я использую Symfony 2.8, payum-ядро 1.2.2 и payum-расслоением 1.2.3


Обновление: С payum-bu ndle 2,0 работает с этой конфигурацией

# app/config/config.yml 
payum: 
    gateways: 
     superpay: 
      factory: superpay 
      url: http://www.example.com 

и конфигурации службы, как

# app/config/services.yml 

services: 
    app.superpay.factory 
     class: Payum\Core\Bridge\Symfony\Builder\GatewayFactoryBuilder 
     arguments: [App\Payum\Superpay\SuperpayGatewayFactory] 
     tags: 
      - { name: payum.gateway_factory_builder, factory: girosim } 

ответ

2

Я предлагаю, чтобы перейти к payum расслоении 2.x, это не должно быть трудно, и позволяет решить вашу проблему проще чем вы можете сделать это в 1.x. В 2.x вам необходимо зарегистрировать услугу завода-изготовителя шлюза с тегом, например: https://github.com/makasim/PayumBundleSandbox/blob/master/app/config/payum.yml#L194

Если вы все еще хотите придерживаться пакета пайков 1.x, вы должны реализовать завод из комплекта, как этот https://github.com/Payum/PayumBundle/blob/1.x/DependencyInjection/Factory/Gateway/PaypalExpressCheckoutNvpGatewayFactory.php

и зарегистрировать его в расширении сверток как этого https://github.com/Payum/PayumBundle/blob/1.x/PayumBundle.php#L39