Exemple #1
0
 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);
 }
Exemple #2
0
 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);
 }
Exemple #3
0
 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() == 'thanks') {
         return $this->thanksAction($request, $response, $invokeArgs);
     } else {
         return parent::directAction($request, $response, $invokeArgs);
     }
 }
Exemple #5
0
 public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs)
 {
     if ($request->getFiltered('INVNUM', $request->getFiltered('INVOICE')) == '') {
         $response->setRedirect($this->getRootUrl() . '/thanks');
     } else {
         parent::directAction($request, $response, $invokeArgs);
     }
 }
Exemple #6
0
 function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs)
 {
     try {
         parent::directAction($request, $response, $invokeArgs);
     } catch (Exception $e) {
         $this->getDi()->errorLogTable->logException($e);
     }
     echo "<!--success-->";
 }
Exemple #7
0
 public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs)
 {
     try {
         parent::directAction($request, $response, $invokeArgs);
     } catch (Am_Exception_Paysystem_TransactionInvalid $ex) {
         //nothing
     }
     echo 'ok';
 }
Exemple #8
0
 public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs)
 {
     try {
         parent::directAction($request, $response, $invokeArgs);
     } catch (Exception $e) {
         $this->getDi()->errorLogTable->logException($e);
     }
     //in other case blockchain will send IPN's once per minute
     echo 'ok';
 }
Exemple #9
0
 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);
     }
 }
Exemple #10
0
 function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs)
 {
     try {
         parent::directAction($request, $response, $invokeArgs);
     } catch (Exception $e) {
         $this->getDi()->errorLogTable->logException($e);
         $response->setRawHeader('HTTP/1.1 600 user-error');
         $response->setBody("Error: " . $e->getMessage());
     }
 }
Exemple #11
0
 function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs)
 {
     try {
         parent::directAction($request, $response, $invokeArgs);
     } catch (Am_Exception $e) {
         $this->getDi()->errorLogTable->logException($e);
         print "OK";
         exit;
     }
 }
 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();
     }
 }
Exemple #13
0
 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);
     }
 }
Exemple #14
0
 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);
     }
 }
Exemple #15
0
 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);
     }
 }
Exemple #16
0
 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() == 'api' && ($api_resend = $this->getConfig('api_resend'))) {
         try {
             $client = new Am_HttpRequest($api_resend, Am_HttpRequest::METHOD_POST);
             $client->setHeader('Content-type', 'text/xml');
             $client->setBody($request->getRawBody());
             $response = $client->send();
         } catch (Exception $e) {
             $this->getDi()->errorLogTable->logException($e);
         }
     }
     parent::directAction($request, $response, $invokeArgs);
 }
Exemple #18
0
 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);
     }
 }
Exemple #19
0
 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);
     }
 }
Exemple #20
0
 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);
     }
 }
Exemple #21
0
 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);
     }
 }
Exemple #22
0
 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);
     }
 }
Exemple #23
0
 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);
     }
 }
Exemple #24
0
 function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs)
 {
     if ($this->getConfig('validation_mode')) {
         print "OK";
         exit;
     }
     try {
         return parent::directAction($request, $response, $invokeArgs);
     } catch (Exception $e) {
         $this->getDi()->errorLogTable->log($e);
         print "ERROR";
         exit;
     }
 }
Exemple #25
0
 public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs)
 {
     if ($request->getActionName() == 'ipn') {
         $invoiceLog = $this->_logDirectAction($request, $response, $invokeArgs);
         $transaction = $this->createTransaction($request, $response, $invokeArgs);
         $transaction->setInvoiceLog($invoiceLog);
         try {
             $transaction->process();
         } catch (Am_Exception_Paysystem_TransactionAlreadyHandled $e) {
             $transaction->printAnswer("Ok", "Order #" . $transaction->findInvoiceId() . " is paid!");
         } catch (Exception $e) {
             if ($invoiceLog) {
                 $invoiceLog->add($e);
             }
             $this->getDi()->errorLogTable->logException($e);
             return;
         }
         if ($invoiceLog) {
             $invoiceLog->setProcessed();
         }
         return;
     } else {
         parent::directAction($request, $response, $invokeArgs);
     }
 }
Exemple #26
0
 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);
     }
 }
Exemple #27
0
 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);
 }
Exemple #28
0
 function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs)
 {
     parent::directAction($request, $response, $invokeArgs);
     $post = $request->getPost();
     $date = date('YmdGis');
     $vars = array($post['IPN_PID'][0], $post['IPN_PNAME'][0], $post['IPN_DATE'], $date);
     printf('<EPAYMENT>%s|%s</EPAYMENT>', $date, $this->calculateHash($vars));
 }
Exemple #29
0
 public function directAction(Am_Request $request, Zend_Controller_Response_Http $response, array $invokeArgs)
 {
     try {
         parent::directAction($request, $response, $invokeArgs);
     } catch (Exception $e) {
         $this->getDi()->errorLogTable->logException($e);
         $sep = "\n";
         $url = $this->getDi()->config->get('root_url') . "/thanks";
         echo "status=ok{$sep}url={$url}{$sep}target=_top{$sep}forward=1";
     }
 }
Exemple #30
0
 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);
     }
 }