/** * @throws GPWebPayException * @throws \Exception */ public function handleCheckout() { try { if (!$this->operation->getResponseUrl()) { $this->operation->setResponseUrl($this->link('//success!')); } $url = $this->provider->createRequest($this->operation)->getRequestUrl(); $this->onCheckout($this, $this->provider->getRequest()); $this->getPresenter()->redirectUrl($url); } catch (GPWebPayException $e) { throw $e; } }