<?xml version="1.0"?>

<routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Webapi:etc/webapi.xsd">

    <!-- Express Checkout -->
    <route url="/V1/stripe/payments/ece_shipping_address_changed" method="POST">
        <service class="StripeIntegration\Payments\Api\ServiceInterface" method="ece_shipping_address_changed"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>

    <route url="/V1/stripe/payments/ece_shipping_rate_changed" method="POST">
        <service class="StripeIntegration\Payments\Api\ServiceInterface" method="ece_shipping_rate_changed"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>

    <route url="/V1/stripe/payments/place_order" method="POST">
        <service class="StripeIntegration\Payments\Api\ServiceInterface" method="place_order"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>

    <route url="/V1/stripe/payments/addtocart" method="POST">
        <service class="StripeIntegration\Payments\Api\ServiceInterface" method="addtocart"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>

    <route url="/V1/stripe/payments/ece_params" method="POST">
        <service class="StripeIntegration\Payments\Api\ServiceInterface" method="ece_params"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>

    <route url="/V1/stripe/payments/get_future_subscriptions" method="POST">
        <service class="StripeIntegration\Payments\Api\ServiceInterface" method="get_future_subscriptions"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>

    <route url="/V1/stripe/payments/get_checkout_payment_methods" method="POST">
        <service class="StripeIntegration\Payments\Api\ServiceInterface" method="get_checkout_payment_methods"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>

    <route url="/V1/stripe/payments/get_checkout_session_id" method="GET">
        <service class="StripeIntegration\Payments\Api\ServiceInterface" method="get_checkout_session_id"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>

    <route url="/V1/stripe/payments/get_checkout_session_url" method="GET">
        <service class="StripeIntegration\Payments\Api\ServiceInterface" method="get_checkout_session_url"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>

    <route url="/V1/stripe/payments/get_requires_action" method="GET">
        <service class="StripeIntegration\Payments\Api\ServiceInterface" method="get_requires_action"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>

    <route url="/V1/stripe/payments/get_upcoming_invoice" method="GET">
        <service class="StripeIntegration\Payments\Api\ServiceInterface" method="get_upcoming_invoice"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>

    <route url="/V1/stripe/payments/restore_quote" method="POST">
        <service class="StripeIntegration\Payments\Api\ServiceInterface" method="restore_quote"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>

    <route url="/V1/stripe/payments/update_cart" method="POST">
        <service class="StripeIntegration\Payments\Api\ServiceInterface" method="update_cart"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>

    <!-- Managed saved payment methods -->
    <route url="/V1/stripe/payments/add_payment_method" method="POST">
        <service class="StripeIntegration\Payments\Api\ServiceInterface" method="add_payment_method"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>
    <route url="/V1/stripe/payments/delete_payment_method" method="POST">
        <service class="StripeIntegration\Payments\Api\ServiceInterface" method="delete_payment_method"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>
    <route url="/V1/stripe/payments/list_payment_methods" method="GET">
        <service class="StripeIntegration\Payments\Api\ServiceInterface" method="list_payment_methods"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>

    <!-- Multishipping -->
    <route url="/V1/stripe/payments/place_multishipping_order" method="POST">
        <service class="StripeIntegration\Payments\Api\ServiceInterface" method="place_multishipping_order"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>
    <route url="/V1/stripe/payments/finalize_multishipping_order" method="POST">
        <service class="StripeIntegration\Payments\Api\ServiceInterface" method="finalize_multishipping_order"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>

    <!-- Module Configuration -->
    <route url="/V1/stripe/payments/get_stripe_configuration" method="GET">
        <service class="StripeIntegration\Payments\Api\ServiceInterface" method="getStripeConfiguration"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>
    <route url="/V1/stripe/payments/get_stripe_configuration" method="POST">
        <service class="StripeIntegration\Payments\Api\ServiceInterface" method="getStripeConfiguration"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>
    <route url="/V1/stripe/payments/get_stripe_ece_configuration" method="GET">
        <service class="StripeIntegration\Payments\Api\ServiceInterface" method="get_stripe_ece_configuration"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>

    <!-- Installment Plans -->
    <route url="/V1/stripe/payments/get_installment_plans" method="POST">
        <service class="StripeIntegration\Payments\Api\ServiceInterface" method="getInstallmentPlans"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>

    <route url="/V1/stripe/payments/change_subscription_payment_method" method="POST">
        <service class="StripeIntegration\Payments\Api\ServiceInterface" method="change_subscription_payment_method"/>
        <resources>
            <resource ref="anonymous"/>
        </resources>
    </route>
</routes>
