services:

    flux_se.sylius_stripe.manager.checkout.create:
        class: FluxSE\SyliusStripePlugin\Manager\Checkout\CreateManager
        arguments:
            - '@flux_se.sylius_stripe.stripe.factory.client'
            - '@flux_se.sylius_stripe.provider.checkout.create.params'
    FluxSE\SyliusStripePlugin\Manager\Checkout\CreateManagerInterface:
        alias: flux_se.sylius_stripe.manager.checkout.create

    flux_se.sylius_stripe.manager.checkout.retrieve:
        class: FluxSE\SyliusStripePlugin\Manager\Checkout\RetrieveManager
        arguments:
            - '@flux_se.sylius_stripe.stripe.factory.client'
            - '@flux_se.sylius_stripe.provider.checkout.retrieve.params'
    FluxSE\SyliusStripePlugin\Manager\Checkout\RetrieveManagerInterface:
        alias: flux_se.sylius_stripe.manager.checkout.retrieve

    flux_se.sylius_stripe.manager.checkout.expire:
        class: FluxSE\SyliusStripePlugin\Manager\Checkout\ExpireManager
        arguments:
            - '@flux_se.sylius_stripe.stripe.factory.client'
    FluxSE\SyliusStripePlugin\Manager\Checkout\ExpireManagerInterface:
        alias: flux_se.sylius_stripe.manager.checkout.expire
    
    flux_se.sylius_stripe.manager.checkout.capture_authorized:
        class: FluxSE\SyliusStripePlugin\Manager\WebElements\CaptureManager
        arguments:
            - '@flux_se.sylius_stripe.stripe.factory.client'
    
    flux_se.sylius_stripe.manager.checkout.cancel_authorized:
        class: FluxSE\SyliusStripePlugin\Manager\WebElements\CancelManager
        arguments:
            - '@flux_se.sylius_stripe.stripe.factory.client'

    flux_se.sylius_stripe.manager.web_elements.create:
        class: FluxSE\SyliusStripePlugin\Manager\WebElements\CreateManager
        arguments:
            - '@flux_se.sylius_stripe.stripe.factory.client'
            - '@flux_se.sylius_stripe.provider.web_elements.create.params'
    FluxSE\SyliusStripePlugin\Manager\WebElements\CreateManagerInterface:
        alias: flux_se.sylius_stripe.manager.web_elements.create

    flux_se.sylius_stripe.manager.web_elements.retrieve:
        class: FluxSE\SyliusStripePlugin\Manager\WebElements\RetrieveManager
        arguments:
            - '@flux_se.sylius_stripe.stripe.factory.client'
    FluxSE\SyliusStripePlugin\Manager\WebElements\RetrieveManagerInterface:
        alias: flux_se.sylius_stripe.manager.web_elements.retrieve

    flux_se.sylius_stripe.manager.web_elements.cancel:
        class: FluxSE\SyliusStripePlugin\Manager\WebElements\CancelManager
        arguments:
            - '@flux_se.sylius_stripe.stripe.factory.client'
    FluxSE\SyliusStripePlugin\Manager\WebElements\CancelManagerInterface:
        alias: flux_se.sylius_stripe.manager.web_elements.cancel

    flux_se.sylius_stripe.manager.web_elements.capture:
        class: FluxSE\SyliusStripePlugin\Manager\WebElements\CaptureManager
        arguments:
            - '@flux_se.sylius_stripe.stripe.factory.client'
    FluxSE\SyliusStripePlugin\Manager\WebElements\CaptureManagerInterface:
        alias: flux_se.sylius_stripe.manager.web_elements.capture

    flux_se.sylius_stripe.manager.event.retrieve:
        class: FluxSE\SyliusStripePlugin\Manager\Event\RetrieveManager
        arguments:
            - '@flux_se.sylius_stripe.stripe.factory.client'
    FluxSE\SyliusStripePlugin\Manager\Event\RetrieveManagerInterface:
        alias: flux_se.sylius_stripe.manager.event.retrieve

    flux_se.sylius_stripe.manager.refund.create:
        class: FluxSE\SyliusStripePlugin\Manager\Refund\CreateManager
        arguments:
            - '@flux_se.sylius_stripe.stripe.factory.client'
            - '@flux_se.sylius_stripe.provider.refund.create.params'
    FluxSE\SyliusStripePlugin\Manager\Refund\CreateManagerInterface:
        alias: flux_se.sylius_stripe.manager.refund.create
