Exemple #1
0
    public function mailerAdmin($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();
        $tbluser = new Kutu_Core_Orm_Table_User();
        $tblOrderDetail = new Kutu_Core_Orm_Table_OrderDetail();
        $tblSetting = new Kutu_Core_Orm_Table_PaymentSetting();
        $lgsMail = $tblSetting->fetchAll($tblSetting->select()->where("settingKey = 'paypalBusiness'"));
        $userDetailInfo = $tbluser->userInfoOrder($idOrder);
        $rowset = $tblOrder->getOrderAndStatus($idOrder);
        $rowsetDetail = $tblOrderDetail->fetchAll($tblOrderDetail->select()->where("orderId = " . $idOrder));
        $tblConfirm = new Kutu_Core_Orm_Table_PaymentConfirmation();
        if ($rowset[0]->orderStatus == 6) {
            $status = 'rejected';
        } else {
            $status = 'confirmed';
        }
        $unConfirmed = $tblConfirm->fetchAll($tblConfirm->select()->where("confirmed =0 AND orderId = " . $idOrder));
        echo '<pre>';
        //print_r($userDetailInfo);
        echo '</pre>';
        $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><br />';
        //print_r($detail);
        $sMailSource = $template[0]->note;
        if ($userTo == 'admin') {
            $sMailEmailTo = $lgsMail[0]->settingValue;
            $sMailEmailFrom = $userDetailInfo[0]->email;
            $link = '<a href="' . KUTU_ROOT_URL . '/admin/store/detailOrder/id/' . $idOrder . '">here</a>';
        } else {
            $sMailEmailTo = $userDetailInfo[0]->email;
            $sMailEmailFrom = $lgsMail[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, 'PAIDTIME' => $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, 'STATUS' => $status);
        $mail->SendFileMail($sMailSource, $sMailEmailTo, $sMailSubject, $sMailEmailFrom, $sMailHeader, $aMailDataSet);
    }
 public function confirmAction()
 {
     $this->_checkAuth();
     $userId = $this->_user->kopel;
     $modelOrder = new Kutu_Core_Orm_Table_Order();
     $rowset = $modelOrder->getTransactionToConfirm($userId);
     $numCount = $modelOrder->getTransactionToConfirmCount($userId);
     $modelPaymentSetting = new Kutu_Core_Orm_Table_PaymentSetting();
     $bankAccount = $modelPaymentSetting->fetchAll("settingKey = 'bankAccount'");
     if ($this->_request->get('sended') == 1) {
         $this->view->sended = 'Payment Confirmation Sent';
     }
     $this->view->numCount = $numCount;
     $this->view->rowset = $rowset;
     $this->view->bankAccount = $bankAccount;
 }
Exemple #3
0
 public function editpaymentsettingAction()
 {
     $idSetting = $this->_request->getParam('id');
     $tblPaymentSetting = new Kutu_Core_Orm_Table_PaymentSetting();
     $rowset = $tblPaymentSetting->fetchAll($tblPaymentSetting->select()->where("settingId = " . $idSetting));
     $this->view->id = $idSetting;
     $this->view->rows = $rowset;
     if ($this->_request->isPost($this->_request->getParam('save'))) {
         $id = $this->_request->getParam('id');
         //$data['settingKey'] = $this->_request->getParam('key');
         $data['settingValue'] = $this->_request->getParam('value');
         $data['note'] = $this->_request->getParam('note');
         $update = $tblPaymentSetting->update($data, 'settingId = ' . $id);
         $this->_helper->redirector('paymentsetting');
     }
 }
Exemple #4
0
 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;
 }
 function completeAction()
 {
     $formater = new Kutu_Core_Hol_User();
     $defaultCurrency = 'Rp';
     $kopel = $this->_request->getParam('kopel');
     $method = $this->_request->getParam('method');
     $packageId = $this->_request->getParam('packageId');
     $paymentSubscription = $this->_request->getParam('payment');
     $tblPaymentSetting = new Kutu_Core_Orm_Table_PaymentSetting();
     $usdIdrEx = $tblPaymentSetting->fetchRow(" settingKey= 'USDIDR'");
     $currencyValue = $usdIdrEx->settingValue;
     $rowTaxRate = $tblPaymentSetting->fetchRow("settingKey='taxRate'");
     $taxRate = $rowTaxRate->settingValue;
     $tblUser = new Kutu_Core_Orm_Table_User();
     $rowUser = $tblUser->find($kopel)->current();
     /*
         	$modelGroup = new Kutu_Core_Orm_Table_Group();
         	$row = $modelGroup->fetchRow("id=".$this->_user->packageId);
     if ($row->name == "free") {
     	$rowUser->periodeId = 2;
     	$rowUser->save();
     }
     */
     $this->view->rowUser = $rowUser;
     // discount
     $disc = $formater->checkPromoValidation('Disc', $packageId, $rowUser->promotionId, $paymentSubscription);
     $total = $formater->checkPromoValidation('Total', $packageId, $rowUser->promotionId, $paymentSubscription);
     $tblPackage = new Kutu_Core_Orm_Table_Package();
     $rowPackage = $tblPackage->fetchRow("packageId={$packageId}");
     $this->view->rowPackage = $rowPackage;
     $tblOrder = new Kutu_Core_Orm_Table_Order();
     $row = $tblOrder->fetchNew();
     $row->userId = $kopel;
     if ($this->getRequest()->getPost()) {
         $value = $this->getRequest()->getPost();
         $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->paymentMethodNote = "membership";
     if ($method == "nsiapay") {
         $row->orderStatus = 8;
     } else {
         $row->orderStatus = 1;
         //pending
     }
     $row->currency = $defaultCurrency;
     $row->currencyValue = $currencyValue;
     $row->orderTotal = $total;
     $row->ipAddress = Kutu_Lib_Formater::getRealIpAddr();
     $orderId = $row->save();
     $rowJustInserted = $tblOrder->find($orderId)->current();
     $rowJustInserted->invoiceNumber = date('Ymd') . '.' . $orderId;
     $temptime = time();
     $temptime = Kutu_Lib_Formater::DateAdd('d', 5, $temptime);
     $rowJustInserted->discount = $disc;
     $rowJustInserted->invoiceExpirationDate = strftime('%Y-%m-%d', $temptime);
     $rowJustInserted->save();
     $this->view->invoiceNumber = $rowJustInserted->invoiceNumber;
     $this->view->datePurchased = $rowJustInserted->datePurchased;
     $tblOrderDetail = new Kutu_Core_Orm_Table_OrderDetail();
     $rowDetail = $tblOrderDetail->fetchNew();
     $rowDetail->orderId = $orderId;
     $rowDetail->itemId = $rowPackage->packageId;
     $modelGroup = new Kutu_Core_Orm_Table_Group();
     $row = $modelGroup->fetchRow("id={$packageId}");
     $group = "Subsciption for Member " . ucwords(strtolower($row->name)) . " " . $paymentSubscription . " Months";
     $this->view->packageId = $packageId;
     $this->view->paymentSubscription = $paymentSubscription;
     $this->view->itemName = $group;
     $rowDetail->documentName = $group;
     $rowDetail->price = $total;
     $numOfUsers = $tblUser->getUserCount($rowUser->kopel);
     $this->view->numOfUsers = $numOfUsers;
     $this->view->grandtotal = $total;
     $this->view->method = $method;
     $this->view->orderId = $orderId;
     $this->view->total = $rowPackage->charge;
     $rowDetail->qty = $numOfUsers;
     $rowDetail->finalPrice = $total;
     $rowDetail->save();
     $data = $this->_request->getParams();
     $this->view->data = $data;
     $modDir = $this->getFrontController()->getModuleDirectory();
     require_once $modDir . '/models/Store/Mailer.php';
     $mod = new Membership_Model_Store_Mailer();
     switch (strtolower($method)) {
         case 'manual':
         case 'bank':
             $mod->sendBankInvoiceToUser($orderId);
             break;
         case 'nsiapay':
             $mod->sendInvoiceToUser($orderId);
             break;
     }
 }
Exemple #6
0
 public function confirmAction()
 {
     $this->_checkAuth();
     $userId = $this->_userInfo->userId;
     $tblOrder = new Kutu_Core_Orm_Table_Order();
     $tblSetting = new Kutu_Core_Orm_Table_PaymentSetting();
     $rowset = $tblOrder->getTransactionToConfirm($userId);
     //,$limit,$offset);
     $numCount = $tblOrder->getTransactionToConfirmCount($userId);
     $bankAccount = $tblSetting->fetchAll($tblSetting->select()->where("settingKey = 'bankAccount'"));
     if ($this->_request->get('sended') == 1) {
         $this->view->sended = 'Payment Confirmation Sent';
     }
     $this->view->numCount = $numCount;
     $this->view->rowset = $rowset;
     $this->view->bankAccount = $bankAccount;
     /*echo'<pre>';
     		print_r($this->_userDetailInfo);
             echo'</pre>';*/
 }
Exemple #7
0
 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;
 }