protected function _postDelete() { $modelUserFinance = new App_Model_Db_Table_UserFinance(); $modelUserFinance->delete("userId='" . $this->kopel . "'"); $modelUserInvoice = new App_Model_Db_Table_Invoice(); $modelUserInvoice->delete("uid='" . $this->kopel . "'"); $acl = Pandamp_Acl::manager(); $acl->deleteUser($this->username); $modelOrder = new App_Model_Db_Table_Order(); $fetchOrder = $modelOrder->fetchAll("userId='" . $this->kopel . "'"); foreach ($fetchOrder as $rowOrder) { $rowOrder->delete(); } $registry = Zend_Registry::getInstance(); $config = $registry->get(Pandamp_Keys::REGISTRY_APP_OBJECT); $cdn = $config->getOption('cdn'); $sDir = $cdn['static']['dir']['photo']; //$sDir = ROOT_DIR.DIRECTORY_SEPARATOR.'uploads'.DIRECTORY_SEPARATOR.'photo'; try { if (file_exists($sDir . "/" . $this->kopel . ".gif")) { unlink($sDir . "/" . $this->kopel . ".gif"); } if (file_exists($sDir . "/" . $this->kopel . ".jpg")) { unlink($sDir . "/" . $this->kopel . ".jpg"); } if (file_exists($sDir . "/" . $this->kopel . ".jpeg")) { unlink($sDir . "/" . $this->kopel . ".jpeg"); } if (file_exists($sDir . "/" . $this->kopel . ".png")) { unlink($sDir . "/" . $this->kopel . ".png"); } } catch (Exception $e) { } }
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; } }
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); }
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); }
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); }
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; }
<?php error_reporting(E_ALL | E_STRICT); require_once "../baseinit.php"; Pandamp_Application::getResource('session'); Pandamp_Application::getResource('multidb')->getDb('db1'); $transidmerchant = $_GET['OrderNumber']; $responseCode = $_GET['RESPONSECODE']; $cardNumber = $_GET['CARDNUMBER']; $bank = $_GET['BANK']; $approvalCode = $_GET['APPROVALCODE']; $result = strtoupper($_GET['RESULT']); require_once ROOT_DIR . '/app/models/Db/Table/Order.php'; require_once ROOT_DIR . '/app/models/Db/Table/Row/Order.php'; $tblOrder = new App_Model_Db_Table_Order(); $rowOrder = $tblOrder->fetchRow("invoiceNumber='" . $transidmerchant . "' AND orderStatus=1"); $datenow = date('YmdHis'); if ($_SERVER['REMOTE_ADDR'] == "203.190.41.220") { if ($rowOrder > 0) { if ($result == "SUCCESS") { //$rowOrder->orderStatus = 14; $rowOrder->paymentDate = $datenow; $data = array('status' => 'notify', 'responseCode' => $responseCode, 'creditcard' => $cardNumber, 'bank' => $bank, 'approvalCode' => $approvalCode); $tblNsiapay = new App_Model_Db_Table_Nsiapay(); $tblNsiapay->update($data, "transidmerchant='" . $transidmerchant . "'"); $tblNhis = new App_Model_Db_Table_NsiapayHistory(); $tblNhis->insert(array('orderId' => $rowOrder->orderId, 'paymentStatus' => 'notify', 'dateAdded' => date('YmdHis'))); $response = "Continue"; } else { //$rowOrder->orderStatus = 15; $rowOrder->paymentDate = $datenow;
public function refundedAction() { $this->_helper->viewRenderer->setNoRender(TRUE); $orderId = $this->_request->getParam('orderId'); //print_r($this->_request->getParams()); $tblOrder = new App_Model_Db_Table_Order(); $tblOrderDetail = new App_Model_Db_Table_OrderDetail(); $tblOrderHistory = new App_Model_Db_Table_OrderHistory(); $data['orderStatus'] = 2; $rowOrder = $tblOrder->update($data, 'orderId = ' . $orderId); $data2['orderId'] = $orderId; $data2['orderStatusId'] = 2; $data2['dateCreated'] = date('Y-m-d H:i:s'); $data2['userNotified'] = '1'; $data2['note'] = 'Refund Payment on process'; $updateHistory = $tblOrderHistory->insert($data2); $this->_redirect(ROOT_URL . '/' . $this->view->getLanguage() . '/store/transaction'); }
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', 'hol-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->_user->kopel, $value)) { //forward to error page $this->_helper->redirector->gotoSimple('error', 'store', 'site', array('view' => 'notowner')); die; } } $tblConfirm = new App_Model_Db_Table_PaymentConfirmation(); $tblOrder = new App_Model_Db_Table_Order(); $r = $this->getRequest(); $amount = 0; foreach ($r->getParam('orderId') as $ksy => $value) { $amount += App_Model_Show_Order::show()->getAmount($value); } 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 App_Model_Db_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(); $mod = new App_Model_Store_Mailer(); $mod->sendUserBankConfirmationToAdmin($data['orderId']); } $this->_helper->redirector->gotoSimple('confirm', 'store_payment', 'hol-site', array('sended' => '1')); }
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; }
<?php error_reporting(E_ALL | E_STRICT); require_once "../baseinit.php"; Pandamp_Application::getResource('session'); Pandamp_Application::getResource('multidb')->getDb('db1'); $transidmerchant = $_GET['TRANSIDMERCHANT']; $currency = $_GET['CURRENCY']; require_once ROOT_DIR . '/app/models/Db/Table/Order.php'; require_once ROOT_DIR . '/app/models/Db/Table/Nsiapay.php'; require_once ROOT_DIR . '/app/models/Db/Table/NsiapayHistory.php'; $tblOrder = new App_Model_Db_Table_Order(); $rowOrder = $tblOrder->fetchRow("invoiceNumber='" . $transidmerchant . "'"); $datenow = date('YmdHis'); //if ($_SERVER['REMOTE_ADDR'] == '202.182.62.118') { if ($rowOrder) { //$rowOrder->orderStatus = 9; $rowOrder->datePurchased = $datenow; $rowOrder->save(); $tblNsiapay = new App_Model_Db_Table_Nsiapay(); $tblNsiapay->update(array('status' => 'verify', 'bin' => $currency), "transidmerchant='" . $transidmerchant . "'"); $tblNhis = new App_Model_Db_Table_NsiapayHistory(); $tblNhis->insert(array('nsiaId' => $rowOrder->orderId, 'paymentStatus' => 'verify', 'dateAdded' => date('YmdHis'))); $response = "continue"; } else { $response = "stop"; } echo $response; //} //else //{