Beispiel #1
0
 function isOrderPaid($orderId)
 {
     $tblOrder = new App_Model_Db_Table_Order();
     $rowOrder = $tblOrder->find($orderId)->current();
     if (!empty($rowOrder)) {
         if ($rowOrder->orderStatus == 3) {
             return true;
         } else {
             return false;
         }
     } else {
         return false;
     }
 }
Beispiel #2
0
 public function sendReceiptToUser($orderId, $paymentMethod = '')
 {
     $config = new Zend_Config_Ini(CONFIG_PATH . '/mail.ini', 'mail');
     $siteOwner = "Hukumonline";
     $siteName = $config->mail->sender->support->name;
     $contactEmail = $config->mail->sender->support->email;
     $tblOrder = new App_Model_Db_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 App_Model_Db_Table_User();
     $rowUser = $tblUser->find($userId)->current();
     $userEmail = $rowUser->email;
     $userFullname = $rowUser->fullName;
     $registry = Zend_Registry::getInstance();
     $config = $registry->get(Pandamp_Keys::REGISTRY_APP_OBJECT);
     $store = $config->getOption('store');
     $cEmail = new Zend_Config_Ini(CONFIG_PATH . '/mail.ini', 'mail');
     $holConfig = Pandamp_Config::getConfig();
     switch (strtolower($rowOrder->paymentMethod)) {
         case 'paypal':
         case 'manual':
         case 'bank':
         case 'postpaid':
         default:
             $message = "\t\t\t\t\t\nDear {$userFullname},\n\nThis is a payment receipt for Invoice # {$rowOrder->invoiceNumber}\n\nTotal Amount: IDR {$rowOrder->orderTotal}\nTransaction #:\nTotal Paid: IDR {$rowOrder->orderTotal}\nStatus: {$orderStatus}\nYour payment method is: {$paymentMethod}\n\nYou may review your invoice history at any time by logging in to your account " . $holConfig->cdn->id->url . "/user/payment/list\n\nNote: This email will serve as an official receipt for this payment.\n\nSalam,\n\nHUKUMONLINE\n\n==============================";
     }
     $this->send($cEmail->mail->sender->support->email, $cEmail->mail->sender->support->name, $userEmail, $userFullname, "[HUKUMONLINE] Receipt Invoice# " . $rowOrder->invoiceNumber, $message);
 }
Beispiel #3
0
 public function sendReceiptToUser($orderId, $paymentMethod = '', $statusText = '')
 {
     $config = new Zend_Config_Ini(ROOT_DIR . '/app/configs/mail.ini', 'general');
     $siteOwner = "Hukumonline";
     $siteName = $config->mail->sender->support->name;
     $contactEmail = $config->mail->sender->support->email;
     $tblOrder = new App_Model_Db_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 App_Model_Db_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 = "\nDear {$userFullname},\n\nThis is a payment receipt for Invoice # {$rowOrder->invoiceNumber}\n\nTotal Amount: USD {$rowOrder->orderTotal}\nTransaction #:\nTotal Paid: USD {$rowOrder->orderTotal}\nStatus: {$orderStatus}\nYour payment method is: {$paymentMethod}\n\nYou may review your invoice history at any time by logging in to your account " . ROOT_URL . "/store/payment/list\n\nNote: This email will serve as an official receipt for this payment.\n\nSalam,\n\nHukumonline\n\n==============================";
     }
     $this->send($config->mail->sender->support->email, $config->mail->sender->support->name, $userEmail, '', "Hukumonline Receipt Invoice# " . $rowOrder->invoiceNumber, $message);
 }
Beispiel #4
0
 public function sendReceiptToUser($orderId, $paymentMethod = '', $statusText = '')
 {
     $config = new Zend_Config_Ini(CONFIG_PATH . '/mail.ini', 'general');
     $siteOwner = "Hukumonline";
     $siteName = $config->mail->sender->support->name;
     $contactEmail = $config->mail->sender->support->email;
     $tblOrder = new App_Model_Db_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 App_Model_Db_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 = "Kepada Yth, \r\n{$userFullname},\r\n\r\nIni adalah bukti pembayaran untuk faktur # {$rowOrder->invoiceNumber}\r\n\r\nTotal Jumlah: Rp {$rowOrder->orderTotal}\r\nTransaksi #:\r\nJumlah Dibayar: Rp {$rowOrder->orderTotal}\r\nStatus: {$orderStatus}\r\nMetode Pembayaran: {$paymentMethod}\r\n\r\nAnda dapat meninjau riwayat faktur Anda setiap saat dengan log in ke account Anda " . ROOT_URL . "/shop/payment/list\r\n\r\nCatatan: Email ini akan berfungsi sebagai tanda terima resmi untuk pembayaran ini.\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);
 }
Beispiel #5
0
 private function saveOrder($cart, $payment)
 {
     $defaultCurrency = 'Rp';
     $tblPaymentSetting = new App_Model_Db_Table_PaymentSetting();
     $usdIdrEx = $tblPaymentSetting->fetchRow(" settingKey= 'USDIDR'");
     $currencyValue = $usdIdrEx->settingValue;
     $rowTaxRate = $tblPaymentSetting->fetchRow("settingKey='taxRate'");
     $taxRate = $rowTaxRate->settingValue;
     $tblOrder = new App_Model_Db_Table_Order();
     $row = $tblOrder->fetchNew();
     $row->userId = $this->_user->kopel;
     //get value from post var (store/checkout.phtml)
     if ($this->getRequest()->getPost()) {
         $value = $this->getRequest()->getPost();
         $row->taxNumber = '';
         $row->taxCompany = $value['taxCompany'];
         $row->taxAddress = $value['taxAddress'];
         $row->taxCity = $value['taxCity'];
         $row->taxZip = $value['taxZip'];
         $row->taxProvince = $value['taxProvince'];
         $row->taxCountryId = '';
         $row->paymentMethod = $payment['method'];
         $row->bankName = $payment['bank_options'];
     }
     $row->datePurchased = date('YmdHis');
     $row->orderStatus = 1;
     //pending
     $row->currency = $defaultCurrency;
     $row->currencyValue = $currencyValue;
     $row->discount = $cart['disc'];
     $row->orderTotal = $cart['grandTotal'];
     $row->orderTax = $cart['taxAmount'];
     $row->ipAddress = Pandamp_Lib_Formater::getRealIpAddr();
     $orderId = $row->save();
     $rowJustInserted = $tblOrder->find($orderId)->current();
     //      $rowJustInserted->invoiceNumber = date('Ymd') . '.' . $orderId;
     $tblNumber = new App_Model_Db_Table_GenerateNumber();
     $rowset = $tblNumber->fetchRow();
     $num = $rowset->invoice;
     $totdigit = 5;
     $num = strval($num);
     $jumdigit = strlen($num);
     $noinvoice = str_repeat("0", $totdigit - $jumdigit) . $num;
     $rowset->invoice = $rowset->invoice += 1;
     $tblNumber->update(array('invoice' => $rowset->invoice), NULL);
     $rowJustInserted->invoiceNumber = $noinvoice;
     $rowJustInserted->save();
     $this->view->invoiceNumber = $rowJustInserted->invoiceNumber;
     $this->view->datePurchased = $rowJustInserted->datePurchased;
     $tblOrderDetail = new App_Model_Db_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->discount = $cart['disc'];
         $rowDetail->qty = $cart['items'][$iCart]['qty'];
         $rowDetail->finalPrice = $cart['items'][$iCart]['itemTotal'];
         $rowDetail->save();
     }
     //[TODO] MUST ALSO INSERT/UPDATE KutuUserFinance
     return $orderId;
 }
 public function instructionAction()
 {
     $orderId = $this->_request->getParam('orderId');
     $tblOrder = new App_Model_Db_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;
 }
Beispiel #7
0
 public function payconfirmyesAction()
 {
     $this->_helper->viewRenderer->setNoRender(TRUE);
     //print_r($this->_request->getParams());
     $id = $this->_request->getParam('orderId');
     $tblOrder = new App_Model_Db_Table_Order();
     $tblHistory = new App_Model_Db_Table_OrderHistory();
     $tblConfirm = new App_Model_Db_Table_PaymentConfirmation();
     $rowOrder = $tblOrder->find($id)->current();
     if ($rowOrder->paymentMethodNote == 'membership') {
         $oldUser = App_Model_Show_User::show()->getUserById($rowOrder->userId);
         $oldpackage = App_Model_Show_AroGroup::show()->getUserGroup($oldUser['packageId']);
         $newGroup = App_Model_Show_AroGroup::show()->getUserGroup($rowOrder->note);
         $notes = date("Y-m-d h:i:s") . " - Changed package " . $oldpackage['name'] . " TO " . $newGroup['name'];
         $notes = $oldUser['notes'] ? $oldUser['notes'] . "\n" . $notes : $notes;
         $dataUser = array('packageId' => $rowOrder->note, 'notes' => $notes, 'modifiedDate' => date("Y-m-d h:i:s"), 'modifiedBy' => Zend_Auth::getInstance()->getIdentity()->username);
         $modelUser = new App_Model_Db_Table_User();
         $dataUserDetail = array('userId' => $oldUser['kopel'], 'packageId' => $oldUser['packageId'], 'promotionId' => $oldUser['promotionId'], 'educationId' => $oldUser['educationId'], 'expenseId' => $oldUser['expenseId'], 'paymentId' => $oldUser['paymentId'], 'businessTypeId' => $oldUser['businessTypeId'], 'periodeId' => $oldUser['periodeId'], 'activationDate' => $oldUser['activationDate'], 'createdDate' => $oldUser['createdDate'], 'createdBy' => $oldUser['createdBy'], 'modifiedDate' => $oldUser['modifiedDate'], 'modifiedBy' => $oldUser['modifiedBy'], 'isActive' => $oldUser['isActive'], 'isContact' => $oldUser['isContact']);
         $modelUserDetail = new App_Model_Db_Table_UserDetail();
         $modelUserDetail->insert($dataUserDetail);
         $acl = Pandamp_Acl::manager();
         $acl->deleteUser($oldUser['username']);
         $acl->addUser($oldUser['username'], $newGroup['name']);
         $tblInvoice = new App_Model_Db_Table_Invoice();
         $where = $tblInvoice->getAdapter()->quoteInto("uid=?", $rowOrder->userId);
         $rowInvoice = $tblInvoice->fetchRow($where);
         if ($rowInvoice) {
             $rowInvoice->invoiceConfirmDate = date("Y-m-d");
             $rowInvoice->isPaid = 'Y';
             // get expiration date
             $temptime = time();
             $temptime = Pandamp_Lib_Formater::DateAdd('m', $oldUser['paymentId'], $temptime);
             $rowInvoice->expirationDate = strftime('%Y-%m-%d', $temptime);
             $rowInvoice->save();
             $dataUser['periodeId'] = 3;
         }
         $modelUser->update($dataUser, "kopel='" . $rowOrder->userId . "'");
     }
     //select payment date from paymentconfirmation
     $date = $tblConfirm->fetchAll("orderId = " . $id . " AND confirmed = 0");
     $data['paymentDate'] = $date[0]->paymentDate;
     //update order
     $data['orderStatus'] = 3;
     $tblOrder->update($data, "orderId = " . $id);
     //update paymentconfirmation
     $dataConfirm['confirmed'] = 1;
     $tblConfirm->update($dataConfirm, "orderId = " . $id);
     //add history
     $dataHistory = $tblHistory->fetchNew();
     //history data
     $dataHistory['orderId'] = $id;
     $dataHistory['orderStatusId'] = 3;
     $dataHistory['dateCreated'] = date('Y-m-d');
     $dataHistory['userNotified'] = 1;
     $dataHistory['note'] = 'confirmed';
     $dataHistory->save();
     //mailer
     //$this->Mailer($id, 'user-confirm', 'user');
     $mod = new App_Model_Store_Mailer();
     $mod->sendReceiptToUser($id, ucwords($date[0]->paymentMethod));
     //redirect to confirmation page
     $this->_redirect($this->view->serverUrl() . '/' . $this->view->getLanguage() . '/store/confirm');
 }
Beispiel #8
0
 protected function updateInvoiceMethod($orderId, $payMethod, $status, $notify, $note)
 {
     $tblOrder = new App_Model_Db_Table_Order();
     $rows = $tblOrder->find($orderId)->current();
     $row = array();
     $ivnum = $rows->invoiceNumber;
     /*if(empty($ivnum)){
     			if($status==3 || $status==5 || (!empty($_SESSION['_method'])&&($_SESSION['_method'] =='paypal')))
     			$ivnum = $this->getInvoiceNumber();
     			//$row=array ('invoiceNumber'	=> $ivnum);
     		}*/
     //if( )$ivnum = $this->getInvoiceNumber();
     $row = array('orderStatus' => $status, 'paymentMethod' => $payMethod);
     //$_SESSION['_method'] = '';
     /*$this->_paymentMethod=$payMethod;//set payment method on table
     		$row->paymentMethod=$this->_paymentMethod;*/
     $tblOrder->update($row, 'orderId = ' . $orderId);
     $tblHistory = new App_Model_Db_Table_OrderHistory();
     $rowHistory = $tblHistory->fetchNew();
     $rowHistory->orderId = $orderId;
     $rowHistory->orderStatusId = $status;
     $rowHistory->dateCreated = date('YmdHis');
     $rowHistory->userNotified = $notify;
     $rowHistory->note = $note;
     $rowHistory->save();
     return $ivnum;
 }
 protected function updateInvoiceMethod($orderId, $payMethod, $status, $notify, $note)
 {
     $tblOrder = new App_Model_Db_Table_Order();
     $rows = $tblOrder->find($orderId)->current();
     $row = array();
     $ivnum = $rows->invoiceNumber;
     $row = array('orderStatus' => $status, 'paymentMethod' => $payMethod);
     $tblOrder->update($row, 'orderId = ' . $orderId);
     $tblHistory = new App_Model_Db_Table_OrderHistory();
     $rowHistory = $tblHistory->fetchNew();
     $rowHistory->orderId = $orderId;
     $rowHistory->orderStatusId = $status;
     $rowHistory->dateCreated = date('YmdHis');
     $rowHistory->userNotified = $notify;
     $rowHistory->note = $note;
     $rowHistory->save();
     return $ivnum;
 }