/** * {@inheritDoc} */ public function execute($request) { /** @var $request ObtainToken */ RequestNotSupportedException::assertSupports($this, $request); $model = ArrayObject::ensureArrayObject($request->getModel()); if ($model['card']) { throw new LogicException('The token has already been set.'); } $getHttpRequest = new GetHttpRequest(); $this->payment->execute($getHttpRequest); if ($getHttpRequest->method == 'POST' && isset($getHttpRequest->request['stripeToken'])) { $model['card'] = $getHttpRequest->request['stripeToken']; return; } $this->payment->execute($renderTemplate = new RenderTemplate($this->templateName, array( 'model' => $model, 'publishable_key' => $this->keys->getPublishableKey(), ))); throw new HttpResponse($renderTemplate->getResult()); }
/** * @test */ public function souldAllowGetPublishableKeySetInConstructor() { $keys = new Keys('thePublishableKey', 'aSecretKey'); $this->assertEquals('thePublishableKey', $keys->getPublishableKey()); }