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); }