/** * 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); }