parameters:
    lexik_paybox.request_handler.class:              'Lexik\Bundle\PayboxBundle\Paybox\System\Base\Request'
    lexik_paybox.request_cancellation_handler.class: 'Lexik\Bundle\PayboxBundle\Paybox\System\Cancellation\Request'
    lexik_paybox.response_handler.class:             'Lexik\Bundle\PayboxBundle\Paybox\System\Base\Response'
    lexik_paybox.direc_plus.request_handler:         'Lexik\Bundle\PayboxBundle\Paybox\DirectPlus\Request'

services:
    lexik_paybox.request_handler:
        class:     '%lexik_paybox.request_handler.class%'
        arguments: ['%lexik_paybox.parameters%', '%lexik_paybox.servers%', '@form.factory']

    lexik_paybox.request_cancellation_handler:
        class:     '%lexik_paybox.request_cancellation_handler.class%'
        arguments: ['%lexik_paybox.parameters%', '%lexik_paybox.servers%', '@lexik_paybox.transport']

    lexik_paybox.response_handler:
        class:     '%lexik_paybox.response_handler.class%'
        arguments: ['@request_stack', '@logger', '@event_dispatcher', '%lexik_paybox.parameters%']
        tags:
            - { name: monolog.logger, channel: payment }

    lexik_paybox.direc_plus.request_handler:
        class:     '%lexik_paybox.direc_plus.request_handler%'
        arguments: ['%lexik_paybox.parameters%', '%lexik_paybox.servers%', '@logger', '@event_dispatcher', '@lexik_paybox.transport']
        tags:
            - { name: monolog.logger, channel: payment }

    lexik_paybox.transport:
        class:     '%lexik_paybox.transport.class%'
