<?xml version="1.0" ?>

<container xmlns="http://symfony.com/schema/dic/services"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">

	<parameters>
		<parameter key="office_brain_payment.payment_manager">OfficeBrain\Bundle\PaymentBundle\Manager\Service\PaymentService</parameter>
	</parameters>
	
	<services>
		<service id="office_brain_payment_factory" class="%office_brain_payment.payment_manager%" />
		<service id="office_brain_payment_manager" class="%office_brain_payment.payment_manager%" scope='request'>
			<factory service="office_brain_payment_factory" method="initFactory" />
			<argument type="service" id="doctrine.orm.entity_manager" />
			<argument type="service" id="request" />
			<argument type="service" id="office_brain_session_manager" />
			<argument type="service" id="office_brain_product_detail_manager" />
			<argument type="service" id="payum" />
			<argument type="service" id="payum.security.token_factory" />
			<argument type="service" id="router" />
			<argument type="service" id="payum.security.http_request_verifier" />
			<argument type="service" id="office_brain_cms_third_party_service_manager" />
			<argument type="service" id="office_brain_common_library" />
			<argument type="service" id="office_brain_order_manager"/>
			<argument type="service" id="office_brain_service_group_rule_manager" />
			<argument type="service" id="office_brain_core_manager" />
		</service>
		
		<!-- payum Paypal override -->
        <service id="office_brain_payum_paypal_api_factory" class="OfficeBrain\Bundle\PaymentBundle\Payum\Api\Paypal\Factory">
        	<argument type="service" id="service_container" />
        	<argument>%country%</argument>
        </service>
        
        <service id="office_brain_payum_paypal_express_checkout_api" class="Payum\Paypal\ExpressCheckout\Nvp\Api">
            <factory service="office_brain_payum_paypal_api_factory" method="createPaypalExpressCheckoutApi"/>
        </service>
        <!-- payum Paypal override -->
        
        <!-- payum authorize override -->
        <service id="office_brain_payum_authorize_api_factory" class="OfficeBrain\Bundle\PaymentBundle\Payum\Api\Authorize\Factory">
        	<argument type="service" id="service_container" />
        	<argument>%country%</argument>
        </service>
        
        <service id="office_brain_payum_authorize_api" class="Payum\AuthorizeNet\Aim\Bridge\AuthorizeNet\AuthorizeNetAIM">
            <factory service="office_brain_payum_authorize_api_factory" method="createAuthorizeNetAimApi"/>
        </service>
        <!-- payum authorize override --> 
	</services>
</container>
