public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { if ($request->getActionName() == 'thanks') { return $this->thanksAction($request, $response, $invokeArgs); } parent::directAction($request, $response, $invokeArgs); }
function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { if ($request->getActionName() == 'ipn') { echo 'OK'; } return parent::directAction($request, $response, $invokeArgs); }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { if ($request->getActionName() == 'ipn' && ($request->getParam('monelib_meaning') == 'USEMULTISHOT' || $request->getParam('monelib_meaning') == 'USEEZSHOT')) { return; } parent::directAction($request, $response, $invokeArgs); }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { list($action, $status, $id) = explode("-", $request->getActionName()); if ($action != 'status') { if ($action != 'ipn' && $action != 'thanks' || $request->get('transaction_status') == 'SETTLED') { parent::directAction($request, $response, $invokeArgs); } return; } if (!in_array($status, array('return', 'ok', 'fail'))) { throw new Am_Exception_InternalError("Bad status-request {$status}"); } if (!$id) { throw new Am_Exception_InternalError("Invoice ID is absent"); } if (!($this->invoice = $this->getDi()->invoiceTable->findFirstByPublicId($id))) { throw new Am_Exception_InternalError("Invoice not found by id [{$id}]"); } switch ($status) { case 'return': $url = $request->get('transactionStatus') == 'REJECTED' ? $this->getCancelUrl() : $this->getReturnUrl(); break; case 'ok': $url = $this->getReturnUrl(); break; case 'fail': $url = $this->getCancelUrl(); break; } $response->setRedirect($url); }
public function createTransaction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { if ($request->getActionName() == 'api') { return new Am_Paysystem_Transaction_1shoppingcart_api($this, $request, $response, $invokeArgs); } else { return new Am_Paysystem_Transaction_1shoppingcart($this, $request, $response, $invokeArgs); } }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { $user = $this->getDi()->user; $id = $this->getDi()->app->reveal($request->getActionName()); //actualy it is notification_id $notification = $this->getDi()->notificationTable->load($id); $this->getDi()->notificationClickTable->log($user, $notification); Am_Controller::redirectLocation($notification->url); }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { if ('reject' == $request->getActionName()) { $invoice = $this->getDi()->invoiceTable->findFirstByPublicId($request->get("orderDescription")); $url = $this->getRootUrl() . "/cancel?id=" . $invoice->getSecureId('CANCEL'); return Am_Controller::redirectLocation($url); } else { return parent::directAction($request, $response, $invokeArgs); } }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { if ($request->getActionName() == self::ACTION_IPN) { return parent::directAction($request, $response, $invokeArgs); } else { $request->setActionName($request->getActionName()); $p = new Am_Controller_CreditCard($request, $response, $invokeArgs); $p->setPlugin($this); $p->run(); } }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { if ($request->getActionName() == 'refund') { echo "OK"; ob_flush(); return $this->refundAction($request, $response, $invokeArgs); } else { echo "<softshop></softshop>"; ob_flush(); parent::directAction($request, $response, $invokeArgs); } }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { if ($request->getActionName() == 'thanks') { if ($this->getConfig('debugLog')) { Am_Di::getInstance()->errorLogTable->log('NetBilling Form [response-thanks]:' . json_encode($request->getParams())); } $this->invoice = $this->getDi()->invoiceTable->findFirstByPublicId($request->getFiltered('Ecom_ConsumerOrderID')); $url = $request->get('Ecom_Ezic_Response_StatusCode') == 0 || $request->get('Ecom_Ezic_Response_StatusCode') == 'F' ? $this->getCancelUrl() : $this->getReturnUrl(); $response->setRedirect($url); } else { parent::directAction($request, $response, $invokeArgs); } }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { if ($request->getActionName() == 'ipn') { try { parent::directAction($request, $response, $invokeArgs); } catch (Exception $ex) { $this->getDi()->errorLogTable->logException($ex); } echo '45000'; } else { parent::directAction($request, $response, $invokeArgs); } }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { $actionName = $request->getActionName(); if ($actionName == 'fail') { $invoice = $this->getDi()->invoiceTable->findFirstByPublicId($request->getParam('m_orderid')); if (!$invoice) { throw new Am_Exception_InputError(); } return Am_Controller::redirectLocation($this->getRootUrl() . "/cancel?id=" . $invoice->getSecureId('CANCEL')); } else { return parent::directAction($request, $response, $invokeArgs); } }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { switch ($request->getActionName()) { case self::ACTION_IPN: return parent::directAction($request, $response, $invokeArgs); case self::ACTION_UPDATE: return $this->updateAction($request, $response, $invokeArgs); case self::ACTION_CANCEL: return $this->doCancelAction($request, $response, $invokeArgs); case self::ACTION_ECHECK: default: return $this->echeckAction($request, $response, $invokeArgs); } }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { if ($request->getActionName() == 'cancelpaysafecart') { // SEE par.3 @(list($id, $code) = explode('-', filterId($request->getFiltered('id')), 2)); $invoice = Am_Di::getInstance()->InvoiceTable->findFirstByPublicId(filterId($id)); if (!$invoice) { throw new Am_Exception_InputError("No invoice found [{$id}]"); } $invoice->setCancelled(true); $a = new Am_Paysystem_Action_HtmlTemplate_Paysafecard($this->getDir(), 'payment-paysafecard-cancel.phtml'); $a->process(new Am_Controller($request, $response, $invokeArgs)); // see par.3 } else { parent::directAction($request, $response, $invokeArgs); } }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { switch ($request->getActionName()) { case self::ACTION_IPN: return parent::directAction($request, $response, $invokeArgs); case self::ACTION_UPDATE: return $this->updateAction($request, $response, $invokeArgs); case self::ACTION_CANCEL: return $this->doCancelAction($request, $response, $invokeArgs); case self::ACTION_CANCEL_PAYMENT: return $this->cancelPaymentAction($request, $response, $invokeArgs); case self::ACTION_THANKS: return $this->thanksAction($request, $response, $invokeArgs); case self::ACTION_CC: default: return $this->ccAction($request, $response, $invokeArgs); } }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { if ($request->getActionName() == 'ipn') { $accessCode = $request->getFiltered('AccessCode'); $result = new Am_Paysystem_Result(); $transaction = new Am_Paysystem_Transaction_EwayRapid3($this, $accessCode); $transaction->run($result); if (!($invoice = $transaction->getInvoice())) { throw new Am_Exception_InputError(); } $this->_setInvoice($invoice); if ($result->isSuccess()) { Am_Controller::redirectLocation($this->getReturnUrl($invoice)); } else { Am_Controller::redirectLocation($this->getCancelUrl($invoice)); } } else { parent::directAction($request, $response, $invokeArgs); } }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { if ($request->getActionName() == 'confirm') { $invoice = $this->getDi()->invoiceTable->findFirstBy(array('public_id' => $request->get('invoice'))); if (!$invoice) { throw new Am_Exception_InputError('An error occurred while payment request'); } if ($user = $this->getDi()->auth->getUser()) { if ($user->user_id != $invoice->user_id) { throw new Am_Exception_InputError('An error occurred while payment request'); } } $product = $this->getDi()->productTable->load($invoice->getItem(0)->item_id); $billers = json_decode($product->data()->getBlob('sliiing_billers'), true); if (!@$billers['options'][$request->get('biller')]) { throw new Am_Exception_InputError('An error occurred while payment request'); } //redirect $aff = '0'; $lin = '0'; $refe_url = '0'; $ip = '0'; $keyword = '0'; if (isset($_COOKIE['MID'])) { $mid = base64_decode($_COOKIE['MID']); list($aff, $lin, $refe_url, $ip, $keyword) = explode('|', $mid); } $datas = base64_encode("{$aff}|{$lin}|{$refe_url}|{$ip}|{$keyword}"); $url = $billers['options'][$request->get('biller')]; $url = str_replace('$datas', $datas, $url) . '&x_invoice_id=' . $invoice->public_id . '&username='******'&email=' . urlencode($invoice->getUser()->email); header('Location: ' . $url); exit; } else { parent::directAction($request, $response, $invokeArgs); } }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { if ($request->getActionName() == 'iframe') { $p = $this->createController($request, $response, $invokeArgs); $p->setPlugin($this); $p->run(); return; } parent::directAction($request, $response, $invokeArgs); }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { switch ($action = $request->getActionName()) { case 'connect-btn': case 'login-btn': $response->setHeader('Content-Type', 'image/png', true); $response->setHeader('Expires', gmdate('D, d M Y H:i:s', time() + 3600 * 24) . ' GMT', true); readfile(dirname(__FILE__) . '/facebook-connect.png'); break; default: throw new Am_Exception_InputError("Wrong request: [{$action}]"); } }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { if ($request->getRawBody()) { $webhook = $request->getRawBody(); $webhook_array = json_decode($webhook, true); $request = new Am_Request($webhook_array, $request->getActionName()); } parent::directAction($request, $response, $invokeArgs); }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { if ($request->getActionName() == self::PAYPAL_EXPRESS_CHECKOUT) { return $this->expressCheckoutAction($request, $response, $invokeArgs); } else { return parent::directAction($request, $response, $invokeArgs); } }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { $actionName = $request->getActionName(); if ($actionName == 'debug') { $this->debugAction($request, $response, $invokeArgs); } else { parent::directAction($request, $response, $invokeArgs); } }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { switch ($request->getActionName()) { case self::RETURN_URL_SUCCESS: case self::RETURN_URL_FAIL: $log = $this->logRequest($request); $transaction = $this->createThanksTransaction($request, $response, $invokeArgs); $transaction->setInvoiceLog($log); try { $transaction->process(); } catch (Am_Exception_Paysystem_TransactionAlreadyHandled $e) { // ignore this error, as it happens in "thanks" transaction // we may have received IPN about the payment earlier } catch (Exception $e) { throw $e; $this->getDi()->errorLogTable->logException($e); throw Am_Exception_InternalError(___("Error happened during transaction handling. Please contact website administrator")); } $log->setInvoice($transaction->getInvoice())->update(); $this->invoice = $transaction->getInvoice(); $this->invoice->data()->set(self::DPS_BILLING_ID, $transaction->getDpsBillingId())->update(); $response->setRedirect($this->getReturnUrl()); break; default: parent::directAction($request, $response, $invokeArgs); } }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { $actionName = $request->getActionName(); if ($actionName == 'ipn') { if (!in_array($request->getClientIp(), $this->ips)) { throw new Am_Exception_InputError("Request not handled - ip is not allowed"); } if ($request->get('art') == 'request') { $shopid = $request->get('shopid'); if (!$shopid) { throw new Am_Exception_InputError("Parameter shopid wasn't received"); } $invoice = Am_Di::getInstance()->invoiceTable->findFirstByPublicId($shopid); if (!$invoice) { throw new Am_Exception_InputError("No invoice found"); } $params = array(); $params['nachname'] = $invoice->getLastName(); $params['vorname'] = $invoice->getFirstName(); $params['strasse'] = $invoice->getStreet(); $params['plz'] = $invoice->getZip(); $params['ort'] = $invoice->getCity(); $params['land'] = $invoice->getUser()->country; $params['email'] = $invoice->getEmail(); $params['betrag'] = $invoice->first_total * 100; $params['compain_id'] = ''; $params['ipadresse'] = $invoice->getUser()->remote_addr; if ($invoice->second_period) { $aboanlage = 1; $abopreis = $invoice->second_total * 100; preg_match("/[\\d]+/", $invoice->second_period, $days); if ($days[0] <= 365 && $days[0] >= 30) { $abozeit = $days[0]; } preg_match("/[\\d]+/", $invoice->first_period, $days); if ($days[0] <= 365 && $days[0] >= 3) { $abonext = $days[0]; } $params['aboanlage'] = $aboanlage; $params['abopreis'] = $abopreis; $params['abozeit'] = $abozeit; $params['abonext'] = $abonext; } $params['cur'] = strtolower($invoice->currency); $message = ''; foreach ($params as $p) { $message .= $p . ";"; } echo utf8_decode($message); return; } //Getting invoice for providing a redirect-URL with the result confirmation $shopid = $request->get('shopid'); $this->invoice = Am_Di::getInstance()->invoiceTable->findFirstByPublicId($shopid); $invoiceLog = $this->_logDirectAction($request, $response, $invokeArgs); $transaction = $this->createTransaction($request, $response, $invokeArgs); if (!$this->invoice) { throw new Am_Exception_InputError("Request not handled - Request's parameter shopid is incorrect"); } if (!$transaction) { throw new Am_Exception_InputError("Request not handled - createTransaction() returned null"); } $transaction->setInvoiceLog($invoiceLog); try { $transaction->process(); } catch (Exception $e) { echo "OK;" . $this->getCancelUrl() . "?shopid=" . $this->invoice->public_id; if ($invoiceLog) { $invoiceLog->add($e); } throw $e; } echo "OK;" . $this->getReturnUrl() . "?shopid=" . $this->invoice->public_id; if ($invoiceLog) { $invoiceLog->setProcessed(); } } else { return parent::directAction($request, $response, $invokeArgs); } }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { //if ($request->getActionName() == 'cron') return $this->onHourly(); if ($request->getActionName() == 'thanks') { return $this->thanksAction($request, $response, $invokeArgs); } $invoice = $this->getDi()->invoiceTable->findBySecureId($request->getFiltered('id'), $this->getId()); if (!$invoice) { throw new Am_Exception_InputError(___("Sorry, seems you have used wrong link")); } $u = $invoice->getUser(); $xml = new DOMDocument('1.0', 'utf-8'); $e = new DOMElement('PesapalDirectOrderInfo'); $el = $xml->appendChild($e); $el->setAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchemainstance'); $el->setAttribute('xmlns:xsd', 'http://www.w3.org/2001/XMLSchema'); $el->setAttribute('Amount', number_format($invoice->first_total, 2)); $el->setAttribute('Description', $invoice->getLineDescription()); $el->setAttribute('Code', ''); $el->setAttribute('Type', 'MERCHANT'); $el->setAttribute('PaymentMethod', ''); $el->setAttribute('Reference', $invoice->public_id); $el->setAttribute('FirstName', $u->name_f); $el->setAttribute('LastName', $u->name_l); $el->setAttribute('Email', $u->email); $el->setAttribute('PhoneNumber', $u->phone); $el->setAttribute('UserName', $u->email); $el->setAttribute('Currency', $invoice->currency); $el->setAttribute('xmlns', 'http://www.pesapal.com'); //post transaction to pesapal $consumer = $this->getConsumer(); $token = $params = NULL; $method = $this->getMethod(); $iframe_src = OAuthRequest::from_consumer_and_token($consumer, $token, "GET", self::URL, $params); $iframe_src->set_parameter("oauth_callback", $this->getPluginUrl('thanks')); $iframe_src->set_parameter("pesapal_request_data", $s = htmlentities($xml->saveXML())); $iframe_src->sign_request($method, $consumer, $token); $view = new Am_View(); $view->addScriptPath(dirname(__FILE__)); $view->invoice = $invoice; $view->iframe_src = $iframe_src; $response->setBody($view->render("payment-pesapal-confirm.phtml")); }
function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { $actionName = $request->getActionName(); if ($actionName == 'cancel') { $invoice = $this->getDi()->invoiceTable->findFirstBy(array('public_id' => $request->getFiltered('merchant_unique_id'))); if (!$invoice) { throw new Am_Exception_InputError("No invoice found [{$id}]"); } Am_Controller::redirectLocation($this->getRootUrl() . "/cancel?id=" . $invoice->getSecureId('CANCEL')); } else { parent::directAction($request, $response, $invokeArgs); } }
/** * By default this method handles request as IPN * If actionName=='thanks', it is handled by thanksAction() handler (override createThanksTransaction for that) * @param Am_Request $request * @param Zend_Controller_Response_Http $response * @param array $invokeArgs */ public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { $actionName = $request->getActionName(); switch ($actionName) { case 'thanks': $this->thanksAction($request, $response, $invokeArgs); break; case 'cancel': $invoice = $this->getDi()->invoiceTable->findBySecureId($request->getFiltered('id'), 'STOP' . $this->getId()); if (!$invoice) { throw new Am_Exception_InputError("No invoice found [{$id}]"); } $result = new Am_Paysystem_Result(); $result->setSuccess(); $this->cancelAction($invoice, $request->getActionName(), $result); if ($result->isSuccess()) { $invoice->setCancelled(true); Am_Controller::redirectLocation(REL_ROOT_URL . '/member/payment-history'); } elseif ($result->isAction()) { $action = $result->getAction(); $action->process(); // I cannot imaginge anything but redirect here... yet? :) } else { throw new Am_Exception_InputError(___("Unable to cancel subscription: " . $result->getLastError())); } break; default: // standard action handling via transactions $invoiceLog = $this->_logDirectAction($request, $response, $invokeArgs); $transaction = $this->createTransaction($request, $response, $invokeArgs); if (!$transaction) { throw new Am_Exception_InputError("Request not handled - createTransaction() returned null"); } $transaction->setInvoiceLog($invoiceLog); try { $transaction->process(); } catch (Exception $e) { if ($invoiceLog) { $invoiceLog->add($e); } throw $e; } if ($invoiceLog) { $invoiceLog->setProcessed(); } } }
public function createTransaction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { if ($request->getActionName() == 'callback') { return new Am_Paysystem_Transaction_DalpayCheckout_Callback($this, $request, $response, $invokeArgs); } else { return new Am_Paysystem_Transaction_DalpayCheckout_Ipn($this, $request, $response, $invokeArgs); } }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { if ($request->getActionName() == 'admin-cancel') { return $this->adminCancelAction($request, $response, $invokeArgs); } elseif ($request->getActionName() == 'cancel') { $invoice = $this->getDi()->invoiceTable->findBySecureId($request->getFiltered('id'), 'STOP' . $this->getId()); if (!$invoice) { throw new Am_Exception_InputError("No invoice found [{$id}]"); } $result = new Am_Paysystem_Result(); $payment = current($invoice->getPaymentRecords()); $this->cancelInvoice($payment, $result); $invoice->setCancelled(true); $this->_redirect('member/payment-history'); } else { return parent::directAction($request, $response, $invokeArgs); } }
public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs) { $user = $this->getDi()->user; switch ($request->getActionName()) { case 'c': $id = $this->getDi()->app->reveal($request->getFiltered('id')); //actualy it is notification_id $notification = $this->getDi()->notificationTable->load($id); $this->getDi()->notificationClickTable->log($user, $notification); Am_Controller::redirectLocation($notification->url); break; case 'get': if (!$user) { Am_Controller::ajaxResponse(array()); } else { $items = $this->getDi()->notificationTable->getNotificationsForUser($this->getDi()->auth->getUser()); $dismiss = $user->data()->getBlob('notification.dismiss'); if (!$dismiss) { $dismiss = array(); } else { $dismiss = unserialize($dismiss); } $out = array(); foreach ($items as $item) { $display = $user->data()->get('notification.display.' . $item->pk()); if ($item->limit && $display >= $item->limit) { continue; } if (in_array($item->notification_id, $dismiss)) { continue; } $user->data()->set('notification.display.' . $item->pk(), ++$display); $n = new stdClass(); $n->id = $this->getDi()->app->obfuscate($item->notification_id); $n->content = $item->content; $n->is_custom = $item->is_custom ? true : false; $n->is_blank = $item->is_blank ? true : false; $n->link = $item->url; $out[] = $n; } $user->save(); Am_Controller::ajaxResponse($out); } break; case 'js': $response->setHeader('Content-Type', 'application/x-javascript; charset=utf-8'); echo $this->getJs(); break; case 'd': $id = $this->getDi()->app->reveal($request->getFiltered('id')); if ($user && $id) { $dismiss = $user->data()->getBlob('notification.dismiss'); if (!$dismiss) { $dismiss = array(); } else { $dismiss = unserialize($dismiss); } $dismiss[] = $id; $user->data()->setBlob('notification.dismiss', serialize($dismiss)); $user->data()->update(); } break; default: throw new Am_Exception_InternalError('Unknown Action'); } }