/**
  * Payment fail action.
  *
  * @param Request $request Request element
  *
  * @return Response
  */
 public function failureAction(Request $request)
 {
     $orderId = $request->query->get('order_id', false);
     $failureRoute = $this->redirectionRoutes->getRedirectionRoute('failure');
     $redirectUrl = $this->urlGenerator->generate($failureRoute->getRoute(), $failureRoute->getRouteAttributes($orderId));
     return new RedirectResponse($redirectUrl);
 }
 /**
  * Payment execution.
  *
  * @param Request $request Request element
  *
  * @return RedirectResponse
  */
 public function resultAction(Request $request)
 {
     $redirectRoute = $this->redirectionRoutes->getRedirectionRoute('success');
     try {
         $this->redsysManager->processResult($request->request->all());
     } catch (PaymentException $e) {
         /**
          * Must redirect to fail route.
          */
         $redirectRoute = $this->redirectionRoutes->getRedirectionRoute('failure');
     }
     $redirectUrl = $this->urlGenerator->generate($redirectRoute->getRoute(), $redirectRoute->getRouteAttributes($this->paymentBridge->getOrderId()));
     return new RedirectResponse($redirectUrl);
 }
 /**
  * Payment execution.
  *
  * @param Request $request Request element
  *
  * @return RedirectResponse
  *
  * @throws PaymentException
  */
 public function executeAction(Request $request)
 {
     /**
      * @var FormInterface $form
      */
     $form = $this->formFactory->create('stripe_view');
     $form->handleRequest($request);
     $redirect = $this->redirectionRoutes->getRedirectionRoute('success');
     try {
         if (!$form->isValid()) {
             throw new PaymentException();
         }
         $data = $form->getData();
         $paymentMethod = $this->createStripeMethod($data);
         $this->stripeManager->processPayment($paymentMethod, $data['amount']);
     } catch (Exception $e) {
         /**
          * Must redirect to fail route.
          */
         $redirect = $this->redirectionRoutes->getRedirectionRoute('failure');
     }
     $redirectUrl = $this->urlGenerator->generate($redirect->getRoute(), $redirect->getRouteAttributes($this->paymentBridge->getOrderId()));
     return new RedirectResponse($redirectUrl);
 }
 /**
  * Generate cancel return url.
  *
  * @param string $orderId Order id
  *
  * @return string
  */
 public function getCancelReturnUrlForOrderId($orderId)
 {
     $redirectRoute = $this->redirectRoutes->getRedirectionRoute('cancel');
     return $this->urlGenerator->generate($redirectRoute->getRoute(), $redirectRoute->getRouteAttributes($orderId), true);
 }