Ejemplo n.º 1
0
 function display($tpl = null)
 {
     $orderId = JRequest::getVar('orderid', null);
     $buyerId = JRequest::getVar('buyerid', null);
     //Get Id of current user
     $user = JFactory::getUser();
     $userId = $user->get('id');
     $pointPaid = EnmasseHelper::getPointPaidByOrderId($orderId);
     $totalPrice = EnmasseHelper::getTotalPriceByOrderId($orderId);
     $orderStatus = EnmasseHelper::getOrderStatusByOrderId($orderId);
     //If current user is owner of the order and the order was paid with point
     if ($buyerId == $userId && $pointPaid > 0 && $orderStatus == 'Refunded') {
         $dealName = EnmasseHelper::getDealNameByOrderId($orderId);
         $this->assignRef('dealName', $dealName);
         $this->assignRef('orderId', $orderId);
         $this->assignRef('totalPrice', $totalPrice);
         $this->assignRef('pointPaid', $pointPaid);
         $this->assignRef('buyerId', $buyerId);
         $this->_setPath('template', JPATH_SITE . DS . "components" . DS . "com_enmasse" . DS . "theme" . DS . EnmasseHelper::getThemeFromSetting() . DS . "tmpl" . DS);
         $this->_layout = "point_refund";
         parent::display($tpl);
     } else {
         $link = JRoute::_("index.php?option=com_enmasse&view=deallisting", false);
         JFactory::getApplication()->redirect($link);
     }
 }
Ejemplo n.º 2
0
 function doRefund()
 {
     $post = JRequest::get('post');
     $orderId = $post['orderid'];
     $pointRefund = $post['point'];
     $buyerId = $post['buyerid'];
     //Get Id of current user
     $user = JFactory::getUser();
     $userId = $user->get('id');
     $pointPaid = EnmasseHelper::getPointPaidByOrderId($orderId);
     $totalPrice = EnmasseHelper::getTotalPriceByOrderId($orderId);
     $orderStatus = EnmasseHelper::getOrderStatusByOrderId($orderId);
     $refundedAmount = EnmasseHelper::getRefundedAmountByOrderId($orderId);
     //Check the last time to be sure we do for right buyer and do on a right order
     $pass = true;
     if ($pointRefund == '') {
         $msg = JText::_('INVALID_POINT');
         $pass = false;
     }
     if ($pointPaid < 0) {
         $msg = JText::_('NOT_PAID_WITH_POINT');
         $pass = false;
     }
     if ($pointRefund > $totalPrice) {
         $msg = JText::_('POINT_NOT_GREATE_TOTAL_PRICE');
         $pass = false;
     }
     if ($buyerId != $userId) {
         $msg = JText::_('NOT_OWNER');
         $pass = false;
     }
     if ($refundedAmount != 0) {
         $msg = JText::_('ALREADY_REQUESTED');
         $pass = false;
     }
     if ($pass) {
         if (JModel::getInstance('point', 'enmasseModel')->doRefund($userId, $orderId, $pointRefund)) {
             $msg = JText::_('REFUND_SUCCESSFULLY');
         } else {
             $msg = JText::_('REFUND_FAILED');
         }
         $link = JRoute::_("index.php?option=com_enmasse&controller=point&task=refundForm&orderid=" . $orderId . "&buyerid=" . $buyerid, false);
         JFactory::getApplication()->redirect($link, $msg);
     } else {
         $link = JRoute::_("index.php?option=com_enmasse&controller=point&task=refundForm&orderid=" . $orderId . "&buyerid=" . $buyerid, false);
         JFactory::getApplication()->redirect($link, $msg);
     }
 }
Ejemplo n.º 3
0
 function notifyUrl()
 {
     $orderId = JRequest::getVar('orderId');
     $payClass = JRequest::getVar('payClass', '');
     $className = 'PayGty' . ucfirst($payClass);
     require_once JPATH_SITE . DS . "components" . DS . "com_enmasse" . DS . "helpers" . DS . "payGty" . DS . $payClass . DS . $className . ".class.php";
     if (!call_user_func_array(array($className, "validateTxn"), array($payClass))) {
         echo JTEXT::_("PAYMENT_VALIDATION_FAILED");
         exit(0);
     } else {
         $payDta = call_user_func_array(array($className, "generatePaymentDetail"), array());
         $payDetail = json_encode($payDta);
         if ($payClass == "pagseguro") {
             header('Content-Type: text/html; charset=ISO-8859-1');
             if (isset($_POST['Referencia'])) {
                 $orderId = $_POST['Referencia'];
                 $order = JModel::getInstance('order', 'enmasseModel')->getById($orderId);
                 if ($order == null) {
                     echo JTEXT::_("PAYMENT_ERROR_MSG") . $orderId;
                     exit(0);
                 } else {
                     if ($order->status == "Unpaid") {
                         switch ($_POST['StatusTransacao']) {
                             case "Completo":
                                 //Full payment
                                 EnmasseHelper::doNotify($orderId);
                                 break;
                             case "Aguardando Pagto":
                                 //Awaiting Customer Payment
                                 EnmasseHelper::setPendingStatusByOrderId($orderId);
                                 break;
                             case "Aprovado":
                                 //Payment approved, awaiting compensation
                                 EnmasseHelper::doNotify($orderId);
                                 break;
                                 //case "Em An...": //Payment approved, under reviewing by Pagseguro
                                 //break;
                             //case "Em An...": //Payment approved, under reviewing by Pagseguro
                             //break;
                             case "Cancelado":
                                 //Cancelled
                                 EnmasseHelper::setRefundedStatusByOrderId($orderId);
                                 break;
                             default:
                                 $msg = "Muito obrigado por seu pedido!";
                                 $link = JRoute::_("index.php?option=com_enmasse&controller=deal", false);
                                 JFactory::getApplication()->redirect($link, $msg);
                                 break;
                         }
                         JModel::getInstance('order', 'enmasseModel')->updatePayDetail($orderId, $payDetail);
                     }
                 }
             } else {
                 $msg = "Muito obrigado por seu pedido!";
                 $link = JRoute::_("index.php?option=com_enmasse&controller=deal", false);
                 JFactory::getApplication()->redirect($link, $msg);
             }
         } elseif ($payClass == "payfast") {
             if (isset($_POST['payment_status'])) {
                 $flag = JRequest::getVar('flag');
                 if ($_POST['payment_status'] == "COMPLETE") {
                     $orderId = $_POST['m_payment_id'];
                     EnmasseHelper::doNotify($orderId);
                     JModel::getInstance('order', 'enmasseModel')->updatePayDetail($orderId, $payDetail);
                 }
             }
             $msg = '';
             if ($_GET['flag'] == "returnUrl") {
                 $msg = JText::_("Thank you for purchasing!");
             } else {
                 if ($_GET['flag'] == "cancelUrl") {
                     $msg = JText::_("Your payment was cancelled.");
                 }
             }
             $link = JRoute::_("index.php?option=com_enmasse&controller=deal", false);
             JFactory::getApplication()->redirect($link, $msg);
         } elseif ($payClass == "twocheckout") {
             $payGty = JModel::getInstance('payGty', 'enmasseModel')->getByClass($payClass);
             $attribute_config = json_decode($payGty->attribute_config);
             $accountNumber = $attribute_config->sid;
             $demo = $attribute_config->demo;
             if ($demo == "Y" && $_REQUEST["credit_card_processed"] == "Y") {
                 $orderId = $_REQUEST["cart_order_id"];
                 EnmasseHelper::doNotify($orderId);
                 JModel::getInstance('order', 'enmasseModel')->updatePayDetail($orderId, $payDetail);
                 $msg = JText::_("Thank you for purchasing!");
             } elseif (demo != "Y" && $_REQUEST["credit_card_processed"] == "Y") {
                 $secretWord = $attribute_config->secret_word;
                 $string_to_hash = $secretWord . $accountNumber . $_REQUEST["order_number"] . $_REQUEST["total"];
                 $check_key = strtoupper(md5($string_to_hash));
                 if ($check_key == $_REQUEST["key"]) {
                     $orderId = $_REQUEST["cart_order_id"];
                     EnmasseHelper::doNotify($orderId);
                     JModel::getInstance('order', 'enmasseModel')->updatePayDetail($orderId, $payDetail);
                     $msg = JText::_("Thank you for purchasing!");
                 } else {
                     $msg = JText::_("Can't verify your payment! Please contact Administrator!");
                 }
             }
             $link = JRoute::_("index.php?option=com_enmasse&controller=deal", false);
             JFactory::getApplication()->redirect($link, $msg);
         } elseif ($payClass == "authorizenet") {
             if ($_POST['approved'] == 'true') {
             }
             $orderId = $_POST['invoice_number'];
             EnmasseHelper::doNotify($orderId);
             JModel::getInstance('order', 'enmasseModel')->updatePayDetail($orderId, $payDetail);
             $msg = JText::_("Thank you for purchasing! Your transaction ID is " . $_POST['transaction_id'] . ".");
             $link = JRoute::_("index.php?option=com_enmasse&controller=deal", false);
             JFactory::getApplication()->redirect($link, $msg);
         } elseif ($payClass == "ewayhosted") {
             if ($_REQUEST['trxnstatus'] == 'true') {
             }
             $orderId = $_REQUEST['orderId'];
             EnmasseHelper::doNotify($orderId);
             JModel::getInstance('order', 'enmasseModel')->updatePayDetail($orderId, $payDetail);
             $msg = JText::_("Thank you for purchasing!");
             $link = JRoute::_("index.php?option=com_enmasse&view=orderlist", false);
             JFactory::getApplication()->redirect($link, $msg);
         } elseif ($payClass == "paypal") {
             $payDta = call_user_func_array(array($className, "generatePaymentDetail"), array());
             $payDetail = json_encode($payDta);
             JModel::getInstance('order', 'enmasseModel')->updatePayDetail($orderId, $payDetail);
             $link = JRoute::_("index.php?option=com_enmasse&controller=payment&task=doNotify&{$postData}&orderId={$orderId}", false);
             JFactory::getApplication()->redirect($link);
         } elseif ($payClass == "moneybookers") {
             if (isset($_POST['transaction_id']) && $_POST['status'] == 2) {
                 $orderId = $_POST['transaction_id'];
                 if (EnmasseHelper::getOrderStatusByOrderId($orderId) == "Unpaid") {
                     EnmasseHelper::doNotify($orderId);
                     JModel::getInstance('order', 'enmasseModel')->updatePayDetail($orderId, $payDetail);
                 }
             }
         } elseif ($payClass == "ogone") {
             $aData = array();
             foreach ($_REQUEST as $key => $value) {
                 $aData[strtoupper($key)] = $value;
             }
             $orderId = $aData['ORDERID'];
             if ($aData['STATUS'] == '5' || $aData['STATUS'] == '9') {
                 EnmasseHelper::doNotify($orderId);
                 JModel::getInstance('order', 'enmasseModel')->updatePayDetail($orderId, $payDetail);
                 $sMessage = JText::_('PAYMENT_BEING_PROCESS_MSG');
             } else {
                 $sMessage = JTEXT::_("PAYMENT_VALIDATION_FAILED");
             }
             $link = JRoute::_("/", false);
             JFactory::getApplication()->redirect($link, $sMessage);
         } elseif ($payClass == "worldpay") {
             if (isset($_POST['status'])) {
                 $flag = JRequest::getVar('flag');
                 if ($_POST['status'] == "COMPLETE") {
                     $orderId = $_POST['cartId'];
                     EnmasseHelper::doNotify($orderId);
                     JModel::getInstance('order', 'enmasseModel')->updatePayDetail($orderId, $payDetail);
                 }
             }
             $msg = '';
             if ($_GET['flag'] == "returnUrl") {
                 $msg = JText::_("Thank you for purchasing!");
             } else {
                 if ($_GET['flag'] == "cancelUrl") {
                     $msg = JText::_("Your payment was cancelled.");
                 }
             }
             $link = JRoute::_("index.php?option=com_enmasse&controller=deal", false);
             JFactory::getApplication()->redirect($link, $msg);
         }
     }
 }