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); }
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) { 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) { $log = $this->logRequest($request); switch ($request->getActionName()) { case 'ipn': // first and rebill payments or subscription cancelled if ($this->getConfig('debugLog')) { Am_Di::getInstance()->errorLogTable->log('Payforit. Request[ipn]: ' . json_encode($request->getParams())); } if ($request->getInt('stop')) { if (!in_array($request->getClientIp(), Am_Paysystem_Payforit::$serverIPs)) { throw new Am_Exception_Paysystem_TransactionInvalid("Bad server IP [{$request->getClientIp()}]"); } $invoice = Am_Di::getInstance()->invoiceTable->findFirstByPublicId($request->getFiltered('key')); $invoice->setCancelled(true); return; } if ($request->getFiltered('status') == 'EXPIRED') { return header("HTTP/1.0 200 OK"); } $transaction = new Am_Paysystem_Transaction_Payforit($this, $request, $response, $invokeArgs); try { $transaction->process(); } catch (Exception $e) { $this->getDi()->errorLogTable->logException($e); return header("HTTP/1.0 400 Bad request"); } $this->invoice = $transaction->getInvoice(); $log->setInvoice($this->invoice)->update(); $response->setRedirect($this->getReturnUrl()); break; default: if ($this->getConfig('debugLog')) { Am_Di::getInstance()->errorLogTable->log('Payforit. Request[default]: ' . json_encode($request->getParams())); } return parent::directAction($request, $response, $invokeArgs); break; } }
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) { if ($request->getActionName() == 'iframe') { $p = $this->createController($request, $response, $invokeArgs); $p->setPlugin($this); $p->run(); return; } parent::directAction($request, $response, $invokeArgs); }