public function indexAction()
 {
     try {
         $this->_helper->layout()->disableLayout();
         $this->_helper->viewRenderer->setNoRender();
         $listener = new CST_IpnListener();
         $fc = Zend_Controller_Front::getInstance();
         $paypalConf = $fc->getParam('bootstrap')->getOption('paypal');
         $paramConfig = $fc->getParam('bootstrap')->getOption('paramConfig');
         $listener->use_sandbox = $paypalConf['useSandbox'];
         try {
             $listener->requirePostMethod();
             $verified = $listener->processIpn();
         } catch (Exception $e) {
             CST_Log::info($e->__toString());
             $this->sendMailAdmin($e->__toString(), $paramConfig['correoContacto'], 'Error Pago');
         }
         CST_Log::info('leido');
         if ($verified) {
             $idTransaccion = $listener->getPostData('item_number');
             $transaccion = new Application_Entity_Transaccion();
             $transaccion->identifiqueTransaccion($idTransaccion);
             $dataTransaccion['_payReceiverId'] = $listener->getPostData('item_number');
             $dataTransaccion['_payIpnTrackId'] = $listener->getPostData('ipn_track_id');
             $dataTransaccion['_payReceiverEmail'] = $listener->getPostData('receiver_email');
             $dataTransaccion['_payPaymentType'] = $listener->getPostData('payment_type');
             $dataTransaccion['_payTxnId'] = $listener->getPostData('txn_id');
             $dataTransaccion['_payVerifySign'] = $listener->getPostData('verify_sign');
             $dataTransaccion['_payAddressStatus'] = $listener->getPostData('address_status');
             $dataTransaccion['_payPayerEmail'] = $listener->getPostData('payer_email');
             $transaccion->setProperties($dataTransaccion);
             if ($idTransaccion == $transaccion->_idTransaccion && ($transaccion->_precioTransaccion = $listener->getPostData('payment_gross'))) {
                 $transaccion->cancelarTransaccion($listener->getTextReport());
             } else {
                 $datosComparados = '<table>';
                 $datosComparados .= '<tr>';
                 $datosComparados .= '<td>';
                 $datosComparados .= ' ';
                 $datosComparados .= '</td>';
                 $datosComparados .= '<td>';
                 $datosComparados .= 'transaccion';
                 $datosComparados .= '</td>';
                 $datosComparados .= '<td>';
                 $datosComparados .= 'pakete';
                 $datosComparados .= '</td>';
                 $datosComparados .= '<td>';
                 $datosComparados .= 'precio';
                 $datosComparados .= '</td>';
                 $datosComparados .= '</tr>';
                 $datosComparados .= '<tr>';
                 $datosComparados .= '<td>';
                 $datosComparados .= 'datos enviados';
                 $datosComparados .= '</td>';
                 $datosComparados .= '<td>';
                 $datosComparados .= $transaccion->_idTransaccion;
                 $datosComparados .= '</td>';
                 $datosComparados .= '<td>';
                 $datosComparados .= $transaccion->_idPackageSingle;
                 $datosComparados .= '</td>';
                 $datosComparados .= '<td>';
                 $datosComparados .= $transaccion->_price;
                 $datosComparados .= '</td>';
                 $datosComparados .= '</tr>';
                 $datosComparados .= '<tr>';
                 $datosComparados .= '<td>';
                 $datosComparados .= 'datos recibidos';
                 $datosComparados .= '</td>';
                 $datosComparados .= '<td>';
                 $datosComparados .= $idTransaccion;
                 $datosComparados .= '</td>';
                 $datosComparados .= '<td>';
                 $datosComparados .= $pakagesId;
                 $datosComparados .= '</td>';
                 $datosComparados .= '<td>';
                 $datosComparados .= $listener->getPostData('payment_gross');
                 $datosComparados .= '</td>';
                 $datosComparados .= '</tr>';
                 $datosComparados .= '</table>';
                 $datosComparados .= '<hr></hr>';
                 $datosComparados .= 'datos de la trama';
                 $datosComparados .= '<hr></hr>';
                 $mensaje = 'pago verificado con exito de un pago manipulado';
                 $this->sendMailAdmin($datosComparados . $listener->getTextReport(), $paramConfig['correoContacto'], $mensaje);
                 $transaccion->observarTransaccion($mensaje);
             }
         } else {
             $this->sendMailAdmin($datosComparados . $listener->getTextReport(), $paramConfig['correoContacto'], 'pago verificado sin exito');
         }
     } catch (Exception $e) {
         CST_Log::info($e->__toString());
         $this->sendMailAdmin($e->__toString(), $paramConfig['correoContacto'], 'Error Pago');
         exit;
     }
 }
 function paypalAction()
 {
     if (empty($this->_identity)) {
         $this->_session->urlRedirec = 'carrito-compras/';
         $this->_redirect('/registrate');
     }
     $listener = new CST_IpnListener();
     $fc = Zend_Controller_Front::getInstance();
     $paypalConf = $fc->getParam('bootstrap')->getOption('paypal');
     $listener->use_sandbox = $paypalConf['useSandbox'];
     $this->view->hostPaypal = $listener->getPaypalHost();
     $this->view->accountPaypal = $paypalConf['account'];
     $this->_helper->layout()->disableLayout();
     $precio = 0;
     foreach ($this->_session->carritoCompras as $index) {
         $arrayProducto[] = $index['IdProducto'];
         if ($index['FlagOferta'] == 1) {
             $precioReal = $index['PrecioOferta'];
         } else {
             $precioReal = $index['PrecioVenta'];
         }
         $precio = $precio + $precioReal * $index['cantidad'];
     }
     $entityTransaccion = new Application_Entity_Transaccion();
     $data['_idUsuario'] = $this->_identity->IdUsuario;
     $data['_precioTransaccion'] = $precio;
     $this->view->price = $precio;
     $entityTransaccion->setProperties($data);
     $this->view->transaccion = $entityTransaccion->createTransaccion();
     $entityTransaccion->addMultipleDetalleTransaccion($arrayProducto);
 }