/** * @test */ public function shouldAllowGetGatewayFromRegistryInConstructor() { $registry = new SimpleRegistry(['foo' => $fooGateway = $this->getMock(GatewayInterface::class), 'bar' => $barGateway = $this->getMock(GatewayInterface::class)], ['foo' => 'fooStorage', 'bar' => 'barStorage'], ['foo' => 'fooGatewayFactory', 'bar' => 'barGatewayFactory']); $payum = new Payum($registry, $this->createHttpRequestVerifierMock(), $this->createGenericTokenFactoryMock(), $this->createTokenStorage()); $this->assertSame($fooGateway, $payum->getGateway('foo')); $this->assertSame($barGateway, $payum->getGateway('bar')); $this->assertSame(['foo' => $fooGateway, 'bar' => $barGateway], $payum->getGateways()); }
/** * @param Request $request * * @return Response */ public function afterCaptureAction(Request $request) { $configuration = $this->requestConfigurationFactory->create($this->paymentMetadata, $request); $token = $this->getHttpRequestVerifier()->verify($request); $status = new GetStatus($token); $this->payum->getGateway($token->getGatewayName())->execute($status); $resolveNextRoute = new ResolveNextRoute($status->getFirstModel()); $this->payum->getGateway($token->getGatewayName())->execute($resolveNextRoute); $this->getHttpRequestVerifier()->invalidate($token); return $this->viewHandler->handle($configuration, View::createRouteRedirect($resolveNextRoute->getRouteName(), $resolveNextRoute->getRouteParameters())); }
/** * @param Request $request * * @return Response */ public function afterCaptureAction(Request $request) { $configuration = $this->requestConfigurationFactory->create($this->orderMetadata, $request); $token = $this->getHttpRequestVerifier()->verify($request); $status = new GetStatus($token); $this->payum->getGateway($token->getGatewayName())->execute($status); $resolveNextRoute = new ResolveNextRoute($status->getFirstModel()); $this->payum->getGateway($token->getGatewayName())->execute($resolveNextRoute); $this->getHttpRequestVerifier()->invalidate($token); if (PaymentInterface::STATE_NEW !== $status->getValue()) { $request->getSession()->getBag('flashes')->add('info', sprintf('sylius.payment.%s', $status->getValue())); } return $this->viewHandler->handle($configuration, View::createRouteRedirect($resolveNextRoute->getRouteName(), $resolveNextRoute->getRouteParameters())); }