function isOrderPaid($orderId) { $tblOrder = new Kutu_Core_Orm_Table_Order(); $rowOrder = $tblOrder->find($orderId)->current(); if (!empty($rowOrder)) { if ($rowOrder->orderStatus == 3) { return true; } else { return false; } } else { return false; } }
public function sendReceiptToUser($orderId, $paymentMethod = '', $statusText = '') { $config = new Zend_Config_Ini(KUTU_ROOT_DIR . '/application/configs/mail.ini', 'general'); $siteOwner = "Hukumonline"; $siteName = $config->mail->sender->support->name; $contactEmail = $config->mail->sender->support->email; $tblOrder = new Kutu_Core_Orm_Table_Order(); $rowOrder = $tblOrder->find($orderId)->current(); $userId = $rowOrder->userId; //first check if orderId status is PAID, then send the email. switch ($rowOrder->orderStatus) { case 1: die('ORDER STATUS IS NOT YET PAID. CAN NOT SEND RECEIPT!.'); break; case 3: $orderStatus = "PAID"; break; case 5: $orderStatus = "POSTPAID PENDING"; break; case 6: $orderStatus = "PAYMENT REJECTED"; break; case 7: $orderStatus = "PAYMENT ERROR"; break; default: $orderStatus = "PAYMENT ERROR"; break; } $tblUser = new Kutu_Core_Orm_Table_User(); $rowUser = $tblUser->find($userId)->current(); $userEmail = $rowUser->email; $userFullname = $rowUser->fullName; switch (strtolower($paymentMethod)) { case 'paypal': case 'manual': case 'bank': case 'postpaid': default: $message = "\t\t\t\t\t\r\nDear {$userFullname},\r\n\r\nThis is a payment receipt for Invoice # {$rowOrder->invoiceNumber}\r\n\r\nTotal Amount: USD {$rowOrder->orderTotal}\r\nTransaction #:\r\nTotal Paid: USD {$rowOrder->orderTotal}\r\nStatus: {$orderStatus}\r\nYour payment method is: {$paymentMethod}\r\n\r\nYou may review your invoice history at any time by logging in to your account " . KUTU_ROOT_URL . "/store/payment/list\r\n\r\nNote: This email will serve as an official receipt for this payment.\r\n\r\nSalam,\r\n\r\nHukumonline\r\n\r\n=============================="; } $this->send($config->mail->sender->support->email, $config->mail->sender->support->name, $userEmail, '', "Hukumonline Receipt Invoice# " . $rowOrder->invoiceNumber, $message); }
function viewinvoiceAction() { $orderId = $this->_request->getParam('orderId'); $tblOrder = new Kutu_Core_Orm_Table_Order(); $items = $tblOrder->getOrderDetail($orderId); $this->view->orderId = $orderId; $this->view->invoiceNumber = $items[0]['invoiceNumber']; $this->view->datePurchased = Kutu_Lib_Formater::get_date($items[0]['datePurchased']); $tblPaymentSetting = new Kutu_Core_Orm_Table_PaymentSetting(); $rowTaxRate = $tblPaymentSetting->fetchRow("settingKey='taxRate'"); if ($this->_user->kopel != $items[0]['userId']) { $this->_redirect(KUTU_ROOT_URL . '/store/cartempty'); } $result = array(); $result['subTotal'] = 0; for ($iCart = 0; $iCart < count($items); $iCart++) { $itemId = $items[$iCart]['itemId']; $qty = 1; $itemPrice = $items[$iCart]['price']; $result['items'][$iCart]['itemId'] = $itemId; $result['items'][$iCart]['item_name'] = $items[$iCart]['documentName']; $result['items'][$iCart]['itemPrice'] = $itemPrice; $result['items'][$iCart]['qty'] = $qty; $result['subTotal'] += $itemPrice * $qty; } $result['taxAmount'] = $result['subTotal'] * $rowTaxRate->settingValue / 100; $result['grandTotal'] = $result['subTotal'] + $result['taxAmount']; $this->view->cart = $result; $data = array(); $data['taxNumber'] = $items[0]['taxNumber']; $data['taxCompany'] = $items[0]['taxCompany']; $data['taxAddress'] = $items[0]['taxAddress']; $data['taxCity'] = $items[0]['taxCity']; $data['taxZip'] = $items[0]['taxZip']; $data['taxProvince'] = $items[0]['taxProvince']; $data['taxCountry'] = $items[0]['taxCountryId']; $data['paymentMethod'] = $items[0]['paymentMethod']; $data['currencyValue'] = $items[0]['currencyValue']; $this->view->data = $data; }
public function instructionAction() { $orderId = $this->_request->getParam('orderId'); $tblOrder = new Kutu_Core_Orm_Table_Order(); $row = $tblOrder->find($orderId)->current(); if (empty($row)) { die('NO ORDER DATA AVAILABLE'); } //var_dump($rowset); $this->view->row = $row; $_SESSION['jCart'] = null; }
public function deleteAction() { $model = new Kutu_Core_Orm_Table_Order(); $row = $model->find(5); $row->delete(); }
public function payconfirmAction() { $this->_checkAuth(); //if there is orderId send by previous page $tmpOrderId = $this->_request->getParam('orderId'); if (empty($tmpOrderId)) { $this->_helper->redirector->gotoSimple('error', 'store', 'site', array('view' => 'noorderfound')); die; } //[TODO] // 1. must check if user who sent the confirmation is the user who own the orderId. // 2. if no.1 above return false for at least one orderId, then forward to Error Page. $modelAppStore = new App_Model_Store(); foreach ($this->_request->getParam('orderId') as $key => $value) { if (!$modelAppStore->isUserOwnOrder($this->_userDetailInfo->guid, $value)) { //forward to error page $this->_helper->redirector->gotoSimple('error', 'store', 'site', array('view' => 'notowner')); die; } } //if orderId status is PAID redirect to error page //die('here'); $tblConfirm = new Kutu_Core_Orm_Table_PaymentConfirmation(); $tblOrder = new Kutu_Core_Orm_Table_Order(); $r = $this->getRequest(); $amount = 0; //var_dump($r->getParam('orderId')); //die(); foreach ($r->getParam('orderId') as $ksy => $value) { $amount += $tblOrder->getAmount($value, $r->getParam('currency')); } foreach ($r->getParam('orderId') as $key => $row) { $data = $tblConfirm->fetchNew(); $data['paymentMethod'] = $r->getParam('paymentMethod'); $data['destinationAccount'] = $r->getParam('destinationAccount'); $data['paymentDate'] = $r->getParam('paymentDate'); $data['amount'] = $amount; $data['currency'] = $r->getParam('currency'); $data['senderAccount'] = $r->getParam('senderAccount'); $data['senderAccountName'] = $r->getParam('senderAccountName'); $data['bankName'] = $r->getParam('bankName'); $data['note'] = $r->getParam('note'); $data['orderId'] = $row; $data->save(); $statdata['orderStatus'] = 4; $tblOrder->update($statdata, 'orderId = ' . $data['orderId']); $tblHistory = new Kutu_Core_Orm_Table_OrderHistory(); //add history $dataHistory = $tblHistory->fetchNew(); //history data $dataHistory['orderId'] = $data['orderId']; $dataHistory['orderStatusId'] = 6; $dataHistory['dateCreated'] = date('Y-m-d'); $dataHistory['userNotified'] = 1; $dataHistory['note'] = 'Waiting Confirmation'; $dataHistory->save(); //$this->Mailer($data['orderId'], 'admin-confirm', 'admin'); $mod = new App_Model_Store_Mailer(); $mod->sendUserBankConfirmationToAdmin($data['orderId']); } $this->_helper->redirector->gotoSimple('confirm', 'store_payment', 'site', array('sended' => '1')); }
public function Mailer($idOrder, $key, $userTo) { $mail = new PaymentGateway_HtmlMail(); $tblSetting = new Kutu_Core_Orm_Table_PaymentSetting(); $template = $tblSetting->fetchAll($tblSetting->select()->where("settingKey = '{$key}'")); $tblOrder = new Kutu_Core_Orm_Table_Order(); $tblOrderDetail = new Kutu_Core_Orm_Table_OrderDetail(); $rowset = $tblOrder->getOrderAndStatus($idOrder); //echo '<pre>'; //print_r($_SESSION['_orderIdNumber']); $rowsetDetail = $tblOrderDetail->fetchAll($tblOrderDetail->select()->where("orderId = " . $idOrder)); $tblConfirm = new Kutu_Core_Orm_Table_PaymentConfirmation(); $unConfirmed = $tblConfirm->fetchAll($tblConfirm->select()->where("confirmed =0 AND orderId = " . $idOrder)); $detail = "ORDER ID : " . $idOrder . '<br/>' . 'Detail : <br/><blockquote><ol>'; foreach ($rowsetDetail as $row) { $detail .= '<li><ul> <li>Document Name: ' . $row->documentName . '</li> <li>Quantity : ' . $row->qty . '</li> <li>Price : USD ' . number_format($row->price, 2) . ' </li> <li>Tax : ' . number_format($row->tax, 2) . ' %</li> <li>Final Price : ' . number_format($row->finalPrice, 2) . '</li> </ul></li>'; } $detail .= '</ol></blockquote>'; //$userId=$rowset[0]['userId']; //echo $userId; $auth = Zend_Auth::getInstance(); $userId = $auth->getIdentity()->guid; $tblUser = new Kutu_Core_Orm_Table_User(); $this->_userDetailInfo = $tblUser->find($userId)->current(); $sMailSource = $template[0]->note; $tblSetting = new Kutu_Core_Orm_Table_PaymentSetting(); $adminMail = $tblSetting->fetchAll($tblSetting->select()->where("settingKey = 'paypalBusiness'")); if ($userTo == 'admin') { $sMailEmailTo = $adminMail[0]->settingValue; //die($this->_userDetailInfo->email); $sMailEmailFrom = $this->_userDetailInfo->email; $link = '<a href="' . KUTU_ROOT_URL . '/admin/store/detailOrder/id/' . $idOrder . '">here</a>'; } else { $sMailEmailTo = $this->_userDetailInfo->email; $sMailEmailFrom = $adminMail[0]->settingValue; $link = '<a href="' . KUTU_ROOT_URL . '/site/store_payment/detail/id/' . $idOrder . '">here</a>'; } $sMailSubject = "Confirmation for user payment"; $sMailHeader = ''; $aMailDataSet = array('PAYMENTDATE' => @$unConfirmed[0]->paymentDate, 'PAYMENT' => $rowset[0]->paymentMethod, 'DESCRIPTION' => $detail, 'TOTALORDER' => $rowset[0]->orderTotal, 'ORDERTIME' => $rowset[0]->datePurchased, 'INVOICE' => $rowset[0]->invoiceNumber, 'METHOD' => $rowset[0]->paymentMethod, 'LINK' => $link); $mail->SendFileMail($sMailSource, $sMailEmailTo, $sMailSubject, $sMailEmailFrom, $sMailHeader, $aMailDataSet); }
private function saveOrder($cart, $method) { //[TODO] this value should be put into table KutuPaymentSetting $defaultCurrency = 'USD'; $tblPaymentSetting = new Kutu_Core_Orm_Table_PaymentSetting(); $usdIdrEx = $tblPaymentSetting->fetchRow(" settingKey= 'USDIDR'"); $currencyValue = $usdIdrEx->settingValue; $rowTaxRate = $tblPaymentSetting->fetchRow("settingKey='taxRate'"); $taxRate = $rowTaxRate->settingValue; //die($currencyValue); $auth = Zend_Auth::getInstance(); $userId = $auth->getIdentity()->guid; $tblOrder = new Kutu_Core_Orm_Table_Order(); $row = $tblOrder->fetchNew(); $row->userId = $userId; //get value from post var (store/checkout.phtml) if ($this->getRequest()->getPost()) { $value = $this->getRequest()->getPost(); // get posted value $row->taxNumber = $value['taxNumber']; $row->taxCompany = $value['taxCompany']; $row->taxAddress = $value['taxAddress']; $row->taxCity = $value['taxCity']; $row->taxZip = $value['taxZip']; $row->taxProvince = $value['taxProvince']; $row->taxCountryId = $value['taxCountry']; $row->paymentMethod = $method; } $row->datePurchased = date('YmdHis'); $row->orderStatus = 1; //pending $row->currency = $defaultCurrency; $row->currencyValue = $currencyValue; $row->orderTotal = $cart['grandTotal']; $row->orderTax = $cart['taxAmount']; $row->ipAddress = $this->getRealIpAddress(); /*echo '<pre>'; //print_r($row); echo '</pre>';*/ $orderId = $row->save(); //$orderId = $tblOrder->getLastInsertId(); $rowJustInserted = $tblOrder->find($orderId)->current(); $rowJustInserted->invoiceNumber = date('Ymd') . '.' . $orderId; $rowJustInserted->save(); $this->view->invoiceNumber = $rowJustInserted->invoiceNumber; $tblOrderDetail = new Kutu_Core_Orm_Table_OrderDetail(); for ($iCart = 0; $iCart < count($cart['items']); $iCart++) { $rowDetail = $tblOrderDetail->fetchNew(); $itemId = $cart['items'][$iCart]['itemId']; $rowDetail->orderId = $orderId; $rowDetail->itemId = $itemId; $rowDetail->documentName = $cart['items'][$iCart]['item_name']; $rowDetail->price = $cart['items'][$iCart]['itemPrice']; $itemPrice = $rowDetail->price; @($rowDetail->tax = ($cart['grandTotal'] - $cart['subTotal']) / $cart['subTotal'] * 100); $rowDetail->qty = $cart['items'][$iCart]['qty']; $rowDetail->finalPrice = $itemPrice + $itemPrice * $taxRate / 100; $rowDetail->save(); } //[TODO] MUST ALSO INSERT/UPDATE KutuUserFinance return $orderId; }
public function sendPaypalCompleteNotificationToUser($orderId) { $config = new Zend_Config_Ini(KUTU_ROOT_DIR . '/application/configs/mail.ini', 'general'); $sOrderId = ''; $tblUser = new Kutu_Core_Orm_Table_User(); $tblOrder = new Kutu_Core_Orm_Table_Order(); $rowOrder = $tblOrder->find($orderId)->current(); $userId = $rowOrder->userId; $rowUser = $tblUser->find($userId)->current(); $userEmail = $rowUser->email; $userFullname = $rowUser->firstname . ' ' . $rowUser->lastname; $message = "\t\t\t\t\t\nYour Paypal payment for item(s) with Order ID {$sOrderId} has been completely proceed.\n\nnow you can continue to <a href=\"" . KUTU_ROOT_URL . "/site/store_payment/document\">download the document(s)</a> or just continue <a href=\"" . KUTU_ROOT_URL . "/dms\">browsing our database</a>..\n\n=============================="; $sFile = "sendPaypalCompleteNotificationToUser.log"; $content = "SENDER : " . $config->mail->sender->support->email . "\n"; $content .= "NAME : " . $config->mail->sender->support->name . "\n"; $content .= "RECIPIENT : " . $userEmail; $content .= "MESSAGE : [LGS ONLINE] Receipt Invoice# " . $rowOrder->invoiceNumber . $message . "\n"; $this->logThisMail($sFile, $content); $this->send($config->mail->sender->support->email, $config->mail->sender->support->name, $userEmail, '', "[LGS ONLINE] Paypal Payment Complete ", $message); }
public function xlAction() { //print_r($this->_request->getParams()); $where = $this->_request->getParam('where'); $name = $this->_request->getParam('name'); $tblOrder = new Kutu_Core_Orm_Table_Order(); if ($name == 'Order') { $data = array(); $dataset = $tblOrder->getAllOrderSummaryAdmin($where); //var_dump($dataset); //$data[] = array("A1" => "No","B1" => "Detail"); for ($i = 0; $i < count($dataset); $i++) { $data[] = array("No" => $i + 1, "Description" => "User ID : " . $dataset[$i]->userId . "\n" . "Invoice : " . $dataset[$i]->invoiceNumber . "\n" . "First Name : " . $dataset[$i]->firstname . "\n" . "Last Name : " . $dataset[$i]->lastname . "\n" . "Company : " . $dataset[$i]->company, "Payment Method" => $dataset[$i]->paymentMethod, "Purchasing Date" => strftime("%Y-%m-%d", strtotime($dataset[$i]->datePurchased)), "Order Status" => $dataset[$i]->ordersStatus, "Total Price" => $dataset[$i]->orderTotal, "Qty" => $dataset[$i]->countTotal); } } elseif ($name == 'Transaction') { $data = array(); $dataset = $tblOrder->getAllOrderSummaryAdmin($where); //var_dump($dataset); //$data[] = array("A1" => "No","B1" => "Detail"); for ($i = 0; $i < count($dataset); $i++) { $data[] = array("No" => $i + 1, "Description" => "User ID : " . $dataset[$i]->userId . "\n" . "Invoice : " . $dataset[$i]->invoiceNumber . "\n" . "First Name : " . $dataset[$i]->firstname . "\n" . "Last Name : " . $dataset[$i]->lastname . "\n" . "Company : " . $dataset[$i]->company, "Payment Method" => $dataset[$i]->paymentMethod, "Purchasing Date" => strftime("%Y-%m-%d", strtotime($dataset[$i]->datePurchased)), "Modified Date" => !empty($dataset[$i]->lastModified) ? strftime("%Y-%m-%d", strtotime($dataset[$i]->lastModified)) : 'undefined', "Order Status" => $dataset[$i]->ordersStatus, "Total Price" => $dataset[$i]->orderTotal, "Qty" => $dataset[$i]->countTotal); } } elseif ($name == 'Paypal') { $data = array(); $dataset = $tblOrder->getAllOrderSummaryAdmin($where); //var_dump($dataset); //$data[] = array("A1" => "No","B1" => "Detail"); for ($i = 0; $i < count($dataset); $i++) { $data[] = array("No" => $i + 1, "Description" => "User ID : " . $dataset[$i]->userId . "\n" . "Invoice : " . $dataset[$i]->invoiceNumber . "\n" . "First Name : " . $dataset[$i]->firstname . "\n" . "Last Name : " . $dataset[$i]->lastname . "\n" . "Company : " . $dataset[$i]->company, "Payment Method" => $dataset[$i]->paymentMethod, "Purchasing Date" => strftime("%Y-%m-%d", strtotime($dataset[$i]->datePurchased)), "Modified Date" => !empty($dataset[$i]->lastModified) ? strftime("%Y-%m-%d", strtotime($dataset[$i]->lastModified)) : 'undefined', "Order Status" => $dataset[$i]->ordersStatus, "Total Price" => $dataset[$i]->orderTotal, "Qty" => $dataset[$i]->countTotal); } } $this->_helper->layout->disableLayout(); $this->_helper->layout->setLayout('excell'); //print_r($data); $xls = new PaymentGateway_ExcelExport(); /*$data_array[]=array('A' => 'A1','B' => 'B1','C' => 'C1'); $data_array[]=array('A' => 'A2','B' => 'B2','C' => 'C2');*/ $xls->toExcell($data, $name . '-' . date('Y-m-d')); }