Ejemplo n.º 1
0
 public function ccAction()
 {
     // invoice must be set to this point by the plugin
     if (!$this->invoice) {
         throw new Am_Exception_InternalError('Empty invoice - internal error!');
     }
     $this->form = $this->createForm();
     $this->getDi()->hook->call(Bootstrap_Cc::EVENT_CC_FORM, array('form' => $this->form));
     $trans = new Am_Paysystem_Payflow_Transaction_CreateSecureToken($this->plugin, $this->invoice, true);
     $res = new Am_Paysystem_Result();
     $trans->run($res);
     //var_dump($res);exit();
     //if (!$res->isSuccess())
     //    throw new Am_Exception_Paysystem("Internal error - cannot get secure token from PayPal API");
     $token = $trans->getToken();
     $frm = new Am_Form();
     $params = array('SECURETOKENID' => $trans->getTokenId(), 'SECURETOKEN' => $trans->getToken(), 'CANCELURL' => $this->plugin->getCancelUrl(), 'DISABLERECEIPT' => true, 'EMAILCUSTOMER' => true, 'INVNUM' => $this->invoice->public_id, 'TEMPLATE' => 'MINLAYOUT', 'SHOWAMOUNT' => (double) $this->invoice->first_total <= 0 ? false : true);
     if ($this->plugin->getConfig('testing')) {
         $params['MODE'] = 'TEST';
     }
     $params = http_build_query($params);
     $html = '<iframe src="https://payflowlink.paypal.com?' . $params . '" ' . 'name="payflow_iframe" scrolling="no" width="570px" height="540px"></iframe>';
     $frm->addHtml()->setHtml($html)->addClass('no-label');
     $this->view->form = $frm;
     $this->view->invoice = $this->invoice;
     $this->view->display_receipt = true;
     $this->view->layoutNoMenu = true;
     $this->view->display('cc/info.phtml');
 }