public function execute($request)
    {
        /** @var $request CallRequest */
        RequestNotSupportedException::assertSupports($this, $request);

        $model = ArrayObject::ensureArrayObject($request->getModel());

        if ($model['transaction_id']) {
            return;
        }

        $model['transaction_id'] = date('His'); // TODO store and increment in a file

        $renderTemplate = new RenderTemplate($this->templateName, array(
            'form' => $this->api->request($model->getArrayCopy()),
        ));

        $this->gateway->execute($renderTemplate);

        throw new HttpResponse($renderTemplate->getResult());
    }
public function execute($request)
    {
        /** @var $request CallRequest */
        RequestNotSupportedException::assertSupports($this, $request);

        $model = ArrayObject::ensureArrayObject($request->getModel());

        if ($model['transaction_id']) {
            return;
        }

        $model['transaction_id'] = date('His'); // TODO store and increment in a file

        $renderTemplate = new RenderTemplate($this->templateName, array(
            'form' => $this->api->request($model->getArrayCopy()),
        ));

        $this->gateway->execute($renderTemplate);

        throw new HttpResponse($renderTemplate->getResult());
    }
{@inheritDoc}

@throws \Payum\Core\Reply\HttpRedirect       if authorization required.