Elcodi\Store\CartBundle\Controller\CheckoutController::paymentAction PHP Method

paymentAction() public method

Checkout payment step
public paymentAction ( Elcodi\Component\Cart\Entity\Interfaces\CartInterface $cart ) : Response
$cart Elcodi\Component\Cart\Entity\Interfaces\CartInterface Cart
return Symfony\Component\HttpFoundation\Response Response
    public function paymentAction(CartInterface $cart)
    {
        /**
         * If some address is missing in loaded cart, then we should go back to
         * address screen
         */
        if (!$cart->getDeliveryAddress() instanceof AddressInterface || !$cart->getBillingAddress() instanceof AddressInterface) {
            return $this->redirect($this->generateUrl('store_checkout_address'));
        }
        /**
         * Available payment methods
         */
        $paymentMethods = $this->get('elcodi.wrapper.payment_methods')->get($cart);
        /**
         * Available shipping methods
         */
        $shippingMethods = $this->get('elcodi.wrapper.shipping_methods')->get($cart);
        /**
         * By default, if the cart has not shipping data and we have available
         * some of them, we assign the first one.
         * Then we reload page to recalculate cart values
         */
        if ($cart->getShippingMethod() == null && !empty($shippingMethods)) {
            $shippingMethodApplied = reset($shippingMethods);
            $cart->setShippingMethod($shippingMethodApplied->getId());
            $this->get('elcodi.object_manager.cart')->flush($cart);
            return $this->redirect($this->generateUrl('store_checkout_payment'));
        }
        $cartCoupons = $this->get('elcodi.manager.cart_coupon')->getCartCoupons($cart);
        return $this->renderTemplate('Pages:checkout-payment.html.twig', ['shippingMethods' => $shippingMethods, 'paymentMethods' => $paymentMethods, 'cart' => $cart, 'cartCoupons' => $cartCoupons]);
    }